1. open(filename, *mode)——返回文件对象
mode参数(默认为 ‘r’):
- ‘r’ 读取文件,文件不存在时报错;
- ‘r+’ 覆盖读写,文件不存在时报错;
- ‘w’ 覆盖写入,文件不存在时创建文件;
- ‘w+’ 覆盖读写,文件不存在时创建文件;
- ‘a’ 附加写入,文件不存在时创建文件,文件指针将会放在文件的结尾;
- ‘a+’ 附加读写,文件不存在时创建文件,文件指针将会放在文件的结尾;
- ‘rb+’ 以二进制格式打开一个文件用于读写。
2. 文件对象方法
2.1 read(*size)——读取文件内容
- size参数:读取长度
>>> f = open('tmp.txt', 'r')
>>> str = f.read(5)
>>> print(str)
>>> f.close()
Hello
2.2 readline()——读取一行
- 返回字符串
>>> f = open('tmp.txt', 'r')
>>> str = f.readline()
>>> print(str)
>>> f.close()
2.3 readlines(*size)——读取文件中包含的所有行
- 返回一个列表,每行内容为列表里的一个元素
>>> f = open('tmp.txt', 'r')
>>> str = f.readlines(1)
>>> print(str)
>>> f.close()
['Hello Python']
2.4 write(string)
>>> f = open('tmp.txt', 'w')
>>> num = f.write('Hello Python') #返回写入的长度
>>> print(num)
>>> f.close()
12
2.5 seek(offset, *from_what)——改变文件当前的位置
- offset 移动距离;
- from_what 起始位置,0 表示开头,1 表示当前位置,2 表示结尾,默认值为 0 ,即开头。
>>> f = open('tmp.txt', 'rb+')
>>> f.write(b'0123456789abcdef')
# 移动到文件的第 6 个字节
>>> f.seek(5)
>>> print(f.read())
b'56789abcdef'
2.6 tell()——返回文件对象当前所处的位置
- 从文件开头开始算起的字节数。
>>> f = open('tmp.txt', 'r')
>>> f.seek(5)
>>> print(f.tell())
5
2.7close()——关闭文件并释放系统资源
也可以使用 with 关键字处理文件对象,实现文件用完后自动关闭。
>>> with open('tmp.txt', 'r') as f:
... read_data = f.read()
>>> print(f.closed)
True