打开文件进行读取和写入,需要使用内建函数open和绝对或者相对路径。在默认情况下文件是以制度模式‘r’打开。之后可以像列表一样处理文本文件。当处理完成时一定要使用close函数将文件关闭,也可以使用with语句,文件会在with代码块结束的时候自动关闭。
首先来看一下python中的文件打开模式:
mode | 含义 |
---|---|
r | 只打开文件,该文件必须存在 |
r+ | 打开可读可写的文件,该文件必须存在 |
w | 若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。 |
w+ | 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。 |
a | 以附加方式打开只写文件,若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾部,原先的内容会被保留 |
a+ | 以附加方式打开可读可写文件,若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾部,原先的内容会被保留 |
x | 写模式,新建一个文件,如果文件存在会报错 |
rb | 二进制只读文件,,该文件必须存在 |
rb+ | 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。 |
wb | 二进制只写文件,若文件不存在,新建一个文件,文件若存在,文件内容清空 |
wb+ | 二进制可读可写文件,若文件不存在,新建一个文件,文件若存在,文件内容清空 |
ab | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
ab+ | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 |
t | 文件的文本模式 |
示例如下:
f = open(“dicts.ipynb”)
for line in f:
print(line)
f.close()
对于可读文件,最常用的时read,seek,tell函数,read返回文件中一定量的字符,read函数通过读取的字节数推进文件句柄的位置,tell函数返回文件句柄的位置,seek函数将文件句柄定位到文件中特定的字符,写入文件可以使用write函数或者writeline函数。readlines([size])函数返回文件的行内容列表。