文件读写

读文件

try:
    f = open('/path/to/file', 'r')
    print(f.read())
finally:
    if f:
        f.close()
with open('/path/to/file', 'r') as f:
    print(f.read())

如果文件很小,read()一次性读取最方便;如果不能确定文件大小,反复调用read(size)比较保险;如果是配置文件,调用readlines()最方便:

for line in f.readlines():
    print(line.strip()) # 把末尾的'\n'删掉

file-like Object

open()函数返回的这种有个read()方法的对象,在Python中统称为file-like Object。

二进制文件

## 要读取二进制文件,比如图片、视频等等,用'rb'模式打开文件即可
>>> f = open('/Users/michael/test.jpg', 'rb')
>>> f.read()
b'\xff\xd8\xff\xe1\x00\x18Exif\x00\x00...' # 十六进制表示的字节

字符编码

>>> f = open('/Users/michael/gbk.txt', 'r', encoding='gbk', errors='ignore')
>>> f.read()
'测试'

写文件

>>> f = open('/Users/michael/test.txt', 'w')
>>> f.write('Hello, world!')
>>> f.close()
with open('/Users/michael/test.txt', 'w') as f:
    f.write('Hello, world!')
## 如果我们希望追加到文件末尾怎么办?可以传入'a'以追加(append)模式写入。

你可能感兴趣的:(文件读写)