1. 文件对象的操作
使用open()
或者file()
函数打开文件。
使用file.read()
读取文件。
使用file.readline()
读取文件的一行相关信息。
使用file.write()
进行写入文件。
使用file.writelines(seq)
向文件写入字符串序列seq。
使用file.close()
关闭文件。
使用file.tell()
返回当前在文件中的位置。
使用file.seek(off, where=0)
在文件中移动指针,从where偏移off字节。
2. 文件对象的访问模式
r
以读方式打开
w
以写方式打开
a
以追加模式打开
rU
以读方式打开,同时提供通用换行符
r+
、w+
、a+
以读写模式打开
rb
以二进制读模式打开
wb
以二进制写模式打开
ab
以二进制追加模式打开
3.文件属性
file.closed
返回True表示文件已经关闭
file.encoding
文件所使用的编码
file.name
文件名
file.mode
文件打开时使用的访问模式
4.文件系统
对于文件系统的访问大多通过Python的os模块实现的,我们要熟练地掌握这一模块。
5.读写文本数据
- 使用open()函数配合r模式读取文本文件的内容。
with open('filename.txt','r') as f:
data = f.read()
- 使用open()函数配合w模式对文本文件进行写入。
with open('filename.txt','w') as f:
f.write(text)
- 使用open()函数配合a模式对文本文件进行追加。
with open('filename.txt','a') as f:
f.write(text)
注意:open()函数的默认模式是’r’.在示例中采用了with语句,这会为使用的文件创建一个上下文模式,当程序的控制流程离开with语句块后,文件自动关闭。如果是普通的文件操作模式,记得手动关闭文件。
f = open('filename.txt','r')
data = f.read()
f.close()
6.读写二进制数据
使用open()函数的rb或者wb实现对二进制数据的读或写。
with open('filename.bin','rb') as f:
data = f.read()
f.write(b'Hello World')
在读取或者写入二进制数据时,所有的数据是以字节串的形式操作,而不是文本字符串。
如果要在二进制文件中读取或者写入文本内容,要确保进行编码或者解码操作。
with open('filename.bin','rb') as f:
data = f.read(16)
text = data.decode('utf-8')
with open('filename.bin','rb') as f:
text = 'Hello World'
f.write(text.encode('utf-8'))
7.不存在的文件的操作
使用x模式(Python3中对open()函数的拓展)来代替w模式对一个不存在文件系统的文件操作。
with open(‘filename.txt’,‘xt’) as f:
f.write(‘Hello\n’)
本节重点在于os模块的使用。