Python 文件操作
1、打开关闭文件:open()、close()
函数原型:
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)¶
- file:要打开的文件路径
- mode:打开文件的模式
- buffering:缓冲区大小,默认为-1,自动设置
- encoding:以何种编码打开文件
打开模式:
模式 | 说明 |
---|---|
‘r’ | 默认模式。只读方式打开,文件指针在文件的开头。如果文件不存在则打开失败出错。 |
‘w’ | 只写方式打开。如果该文件已存在则打开,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 |
‘x’ | 打开以进行独占创建,如果文件已存在则失败。 |
‘a’ | 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
‘+’ | 打开一个文件进行更新(可读可写)。 |
‘b’ | 二进制模式 |
‘t’ | 文本模式 (默认)。 |
实例:
# 打开文件,在末尾操作
f = open('test.txt', 'a')
# 关闭文件
f.close()
# 安全的文件操作,确保文件被关闭
try:
f = open('test.txt', 'r')
print f.read()
finally:
if f:
f.close()
# 自动关闭文件
with open('test.txt', 'w') as f:
f.write('Hello, world!')
2、读写文件
- read():会一次性读取文件的全部内容
- read(size):每次最多读取size个字节的内容
- readline():可以每次读取一行内容
- readlines():一次读取所有内容并按行返回list
- read().decode(‘gbk’):文件编码
- write():写入文件,务必用f.close()来关闭文件。当写文件时,操作系统往往不会立刻把数据写入磁盘,而是放到内存缓存起来,空闲的时候再慢慢写入。