python 文件操作
文件介绍
文本文件
- 可以使用记事本软件打开
- txt, py, md, json
二进制文件
- 不能使用 记事本软件打开
- 音频文件 mp3
- 视频文件 mp4 ....
- 图片 png, jpg, gif, exe
文件操作
打开文件 open( )
r w a 是⽂本⽅式打开, 适⽤于⽂本⽂件, 会对⼆进制进⾏编码转换
rb wb ab 是⼆进制⽅式打开, 可以打开⽂本⽂件和⼆进制⽂件, 但是 ⼆进制⽂件只能使⽤ ⼆进制⽅式打开,同时,不能传递 encoding 参数。
# 写法一 f = open('a.txt', encoding='utf-8') data = f.read() print(data) f.close() # 写法二(推荐) with open('a.txt', encoding='utf-8') as f: buf = f.read() print(buf)
关闭文件 close( )
文件对象.close() # 关闭文件, 如果是 写文件, 会自动保存, 即将内存中的数据同步到硬盘中
读文件 read( )
变量 = 文件对象.read()
返回值: 返回读取到文件内容, 类型是字符串
按行读取⽂件 readline()
⽂件对象.readline() # ⼀次读取⼀⾏的内容, 返回读取到的内容
read() 和 readline() 如果读到⽂件末尾, 返回的都是 空字符串
with open('a.txt', encoding='utf-8') as f: buf = f.readline() print(buf) # aaaaaa buf1 = f.readline() print(buf1) # bbbbbb
# 读取大文件 with open('a.txt', encoding='utf-8') as f: while True: buf = f.readline() # ⽂件读完了,返回 空字符串 if buf: # 空字符串是 False, ⾮空字符串 是True print(buf, end='') else: break
写文件 write( )
文件对象.write()
# 参数: 写入文件的内容, 类型 字符串
# 返回值: 写入文件中的字符数, 字符串的长度, 一般不关注
with open('a.txt', 'a', encoding='utf-8') as f: f.write('good good study\n')
json 文件
- json⽂件,是⼀种基于⽂本,独⽴于语⾔的轻量级数据交换格式。
- 基于⽂本的⽂本⽂件,不包含 图⽚、视频等
- 独⽴于语⾔, 不是某⼀种语⾔特有的, Python, Java, C++, ....
- 轻量级, 相同的数据量,json⽂件的占⽤的⽂件大小相对较小
- 数据交换格式,前后端采用json格式交换数据
- 在⾃动化测试中经常用来存放测试数据,⽂件后缀名为:.json
json 语法
json数据采用键值对形式,其中,键是字符串类型,使用英文双引号;值可以是多种类型: