open函数,主要是都文件进行读取,写入操作;
fs是file stream,文件流的缩写
源码如下:
def open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True):
其中file是文件名,可以给相对路径,也可以给绝对路径,如果文件中含有中文,请记得指定编码格式为- encoding="utf-8"
一,读取模式
fs = open("练习.txt") # 当不指定模式时,默认为读取模式,在只读模式下,文件一定要存在,否则报错
1,常用的读取方式
读取的时候,就像饮用水,倒出来了,桶里面就没有了,类似,数据库的游标
(1)
s = fs.read() # 把该文件的内容全部读取出来
(2)
s = fs.readline() # 读取该文件中的一行,默认为第一行
(3)
s = fs.readlines() # 把文件中的所有数据都读取出来,以字符串的形式存放在列表中,一行数据为一个列表元素,
后续框架中,可能会对读取出来的数据进行处理
结果如下:
二,只写,模式
fs = open(r"D:\python_workspace\finally_py\面试准备\练习1.txt", "w")
当指定模式为写时,给的文件如果时绝对路径的话,如果路径不存在则会报错,文件不存在会自动创建,w模式下会把原有内容清空,然后在写入
三,追加模式
fs = open(r"D:\python_workspace\finally_py\面试准备\练习1.txt", "a")
指定模式为a,append(追加),文件不存在会自动创建,如给的时绝对路径,路径不存在的话则报错。文件存在的话,是在原有的内容末尾直接追加内容。
四,读写模式
fs = open("练习.txt", mode="w+",encoding="utf-8") # 先写在读,先w在r,即先清除原有的内容,在写入,在读取。
fs = open("练习.txt", mode="r+",encoding="utf-8") # 可读可追加,如果要写入的话不会清除原有的内容,而是在末尾直接追加
所有模式详解:
注意事项:
以上的所有操作,都是打开了第三方的资源,所以最后都要关闭释放资源。
fs.close()
小妙招,很实用--
with open("new.txt", "a", encoding="utf-8") as fs:
fs.write("我是新文件!我会自动关闭")
with open () as fs:
文件会自动关闭,防止忘记写fs.close,导致文件资源没有释放!!!