读文件一般包括如下三个步骤:
try: f = open(‘/path/to/file‘, ‘r‘)# 打开文件 print(f.read()) #读取文件内容 finally: if f: f.close()# 关闭连接
简写方式:【Python引入了with
语句来自动帮我们调用close()
方法, 和之前的 try...finally...close() 】
with open(‘/path/to/file‘, ‘r‘) as f: print(f.read())
文件读取方法:
read()
一次性读取最方便;read(size)
比较保险:每次最多读取size个字节的内容readline()
可以每次读取一行内容readlines()
最方便:一次读取所有内容并按行返回list
>>> f = open(‘/Users/michael/test.jpg‘, ‘rb‘)
1.3 指定读取文件的字符编码
>>> f = open(‘/Users/michael/gbk.txt‘, ‘r‘, encoding=‘gbk‘)
针对包含有非法编码字符的文件,可能遇到UnicodeDecoderError,可通过open函数的errors=’ignore‘忽略
>>> f = open(‘/Users/michael/gbk.txt‘, ‘r‘, encoding=‘gbk‘, errors=‘ignore‘)
方法与度文件一样,这是模式为 w
建议with写法:
with open(‘/Users/michael/test.txt‘, ‘w‘) as f: f.write(‘Hello, world!‘)
注:写文件时,操作系统不会直接把数据写入磁盘,而是放到内存缓存起来,空闲的时候再慢慢写。如果没有调用close()方法,操作系统不会直接把内存中的缓存数据写到磁盘,可能会有部分数据丢失。
参考:https://www.liaoxuefeng.com/wiki/1016959663602400/1017609424203904
原文:https://www.cnblogs.com/wooluwalker/p/12243225.html