Python之文件操作
文件的打开、读写、关闭
文件的打开:
open(file, mode='r', buffering=1, encoding=None, errors=None,newline=None, closefd=True, opener=None)
file参数指定了被打开的文件名称
mode参数指定了打开文件后的处理方式
buffering参数指定了读写文件的缓存模式。0表示不缓存,1表示行缓存,如大于1则表示缓冲区的大小。默认值是行缓存模式
encoding参数指定对文本进行编码和解码的方式,只适用于文本模式,可使用Python支持的任何格式,如GBK、utf8等
例如:
f1 = open( 'file1.txt', 'r' ) # 以读模式打开文件 f2 = open( 'file2.txt', 'w') # 以写模式打开文件
文件的关闭
f.close()
文件的打开模式
r: 读模式(默认模式,可省略),如果文件不存在则抛出异常
w: 写模式,如果文件已存在,先清空原有内容
x: 写模式,创建新文件,如果文件已存在则抛出异常
a: 追加模式,不覆盖文件中原有内容
b: 二进制模式(可与其他模式组合使用)
t: 文本模式(默认模式,可省略)
+: 读、写模式(可与其他模式组合使用)
例如:
<变量名> = open(<文件名> , 'w')以写入的方式打开新文件
<变量名> = open(<文件名> , 'a+')以追加并允许写入的方式打开新文件
<变量名> = open(<文件名> , 'rb')以制度方式打开新文件,写入后不得对文件进行修改
文件操作时的使用方法:
readable() 测试当前文件是否可读
f.read(size = -1) 从文件中读入整个文件的内容,如果给出参数,则读取前size个字符串或字节流
f.readline(size = -1) 从文件中读入一行内容,如果给出参数读取该行前size个字符串或字节流
f.readlines(hint = -1) 从文件中读入所有行,以每行元素形成一个列表,给出参数就读取hint行
f.seek(offset) 改变文件指针的位置,offset中0表示文件的开头 1 表示从当前开始计算,2表示文件的末尾
write(s) 把s的内容写入文件
writable() 测试当前文件是否可写
writelines(s) 把字符串列表写入文本文件,不添加换行符