python里的文件读写汇总

【python里的文件读写汇总】为什么要写这篇博客,这其实是写给我自己看的。我觉得最近用这个很多,但是对于这些我觉得应该总结一下,所以决定把各处抄来的汇个总。
首先罗列出所有文件操作

操作模式 具体含义
'r' 读取 (默认)
'w' 写入(会先截断之前的内容)
'x' 写入,如果文件已经存在会产生异常
'a' 追加,将内容写入到已有文件的末尾
'b' 二进制模式
't' 文本模式(默认)
'+' 更新(既可以读又可以写)
python文件读取 python读文件一般可以使用下列这几种方法,
import timedef main(): # 一次性读取整个文件内容 with open('1.txt', 'r', encoding='utf-8') as f: print(f.read()) # 通过for-in循环逐行读取 with open('1.txt', mode='r') as f: for line in f: print(line, end='') time.sleep(0.5) print() # 读取文件按行读取到列表中 with open('1.txt') as f: lines = f.readlines() print(lines)if __name__ == '__main__': main()

python文件写入 python写文件就更简单了,没有读文件那么多操作
def main(): filename = '1.txt' try: with open(filename,'w') as f: for i in range(0,100) f.write(str(i)) if i%10 ==0: f.write('\n') except FileNotFoundError as e: print('file open failed') finally: print('end')

这里补充一点,finally下的代码不管如何都会执行,甚至调用了sys.exit()也会执行,它是总是执行代码块
python读写json文件 由于python里的字典和json的高度相似性,因此在存储字典或者列表时,通常会以json格式保存到文件里。
JSON Python
object dict
array list
string str
number (int / real) int / float
true / false True / False
null None
Python JSON
dict object
list, tuple array
str string
int, float, int- & float-derived Enums number
True / False true / false
None null
import jsondef main(): mydict = { 'name': '张三', 'age': 16, 'tel': 110, 'friends': ['李四', '王五'], 'cars': [ {'brand': 'BYD', 'max_speed': 180}, {'brand': 'Audi', 'max_speed': 280}, {'brand': 'Benz', 'max_speed': 320} ] } try: with open('data.json', 'w', encoding='utf-8') as fs: json.dump(mydict, fs) except IOError as e: print(e) print('保存数据完成!')if __name__ == '__main__': main()

json模块主要有四个比较重要的函数,分别是:
  • dump - 将Python对象按照JSON格式序列化到文件中
  • dumps - 将Python对象处理成JSON格式的字符串
  • load - 将文件中的JSON数据反序列化成对象
  • loads - 将字符串的内容反序列化成Python对象

    推荐阅读