python学习笔记(十)、文件操作
在前面我们了解到了没得模块,其中有一个模块为fileinput,为文件操作模块,不知道小伙伴们是否还记得?
1 打开文件
要打开文件,可以使用fileinput中的fileinput.input函数进行打开,也可以使用模块 io 中的open函数。open(filename, mode='r', buffering=none, encoding=none, errors=none, newline=none, closefd=true)
- filename:文件路径名。
- mode:指定进行操作的模式。(r - 读取模式,文件不存在异常;w - 写入模式,文件不存在时新建文件;x - 独占写入模式;a - 附加模式;b - 二进制模式,与其他模式结合使用; t - 文本模式,默认值,与其他模式集合使用;+ - 读写模式,与其他模式结合使用)
- buffering:如果 buffering 的值被设为 0,就不会有寄存。如果 buffering 的值取 1,访问文件时会寄存行。如果将 buffering 的值设为大于 1 的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。
- encoding:编码格式
2 操作文件的基本方法
我们一般将对文件的操作对象称为流。如:f1 = open('file.txt', 'r') / f2 = open('file.txt', 'w')
2.1 读取和写入
f2.write(string):方法write将字符串写入到文件既有内容的后面。
f2.writelines(list):方法writelines将一个可迭代的对象写入到文件中,写入的时候不会自动添加换行符,因此你必须自行添加换行。
f1.read([n]):方法read可多去文件全部内容,或指定要读取字符串个数 n 。
f1.readline():方法readline多去文件一行的内容。
f1.readlines():方法readlines读取文件所有行,并以列表的方式返回它们。
2.2 关闭文件
在python中,通常程序退出时将自动关闭文件,然后避免发生异常,文件没有正常关闭,我们通常在操作完文件后,使用函数close进行关闭。如:
try:
# 文件操作
finally:
f.close()
实际上,python有一条专门为此设计的语句,那就是with语句,在该语句执行完毕后,将自动关闭文件,即便在执行中发生异常后也会自动关闭。如:
with open('file.txt') as f1:
pass