一、基础操作
1.打开文件
open()
f = open('文件名或文件路径','访问模式')
访问模式说明:
访问模式 | 说明 |
---|---|
w | 可写,覆盖整个文件,文件不存在则创建。 |
r | 只读,文件的指针将会放在文件的开头(默认模式),必须保证文件存在。 |
a | 追加,如果该文件已存在,文件指针将会放在文件的结尾。 新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
w+ | 可读可写,如果文件存在,则覆盖整个文件,不存在则创建。 |
r+ | 可读可写,不会创建不存在的文件,从顶部开始写,会覆盖之前此位置的内容。 |
a+ | 可读可写,从文件顶部读取内容,从文件底部添加内容,文件不存在则创建。 |
rb、wb、ab | 以二进制操作,其他同r、w、a |
rb+、wb+、ab+ | 以二进制操作,其他同r+、w+、a+ |
示例:
f = open('filename','r') # 以只读模式打开文件
注意:
open打开文件,操作后,一定要close关闭文件。
2.读取文件内容
f.read(size) # size为一次读取长度(单位:字节),默认一次读取整个文件,不适用大文件
f.readline() # 一次只读取一行,包括“\n”,占内存小,速度慢
f.readlines() # 一次性读取,将内容打包成一个列表,每行为一个元素
3.写入文件内容
f.write(content) # 不会换行
f.writelines(content) # 下次会写在下一行
4.关闭文件
f.close()
二、其他操作
对于open()函数,如果文件不存在,会抛出一个IOError的错误,并且给出错误码和详细的信息告诉你文件不存在:
>>> f = open('C:\Users\Vistar\desktop\nofile.py', 'r')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
FileNotFoundError: [Errno 2] No such file or directory: 'C:\Users\Vistar\desptop\nofile.py'
由于文件读写时都有可能产生IOError,一旦出错,后面的f.close()就不会调用,可能会导致文件不安全。所以,为了保证无论是否出错都能正确地关闭文件,我们可以使用with…open()…as…来使文件自动关闭:
with open('C:\Users\Vistar\desktop\file.py', 'r') as f:
print(f.read())