python⽂件读取操作、序列化
1.对⽂件进⾏读写操作时,先建⽴⽂件句柄
1 f = open("","r",encoding="UTF-8")
其中,r为⽂件操作权限:
r-只读,w-写(新建⽂件后写),a-追加(f.write()后在最后追加信息),r+读写(追加写),rb⼆进制⽂件读(后⾯不跟encodi)常⽤来做⽹络传输及视频⽂件读写操作。
2.⽂件读操作
ad() #读取⽂件
adline() #读⼀⾏
adlines() #从节点处读取⽂件并⽣成⼀个列表
在读取⽂件时,有⼀类似光标的功能。可以对光标进⾏操作
f.seek() #将光标移动到指定位置
常规情况tell与seek应搭配使⽤。
⽤指令将数据从内存中刷新到硬盘中(强制刷新):
1 f.flush()
3.序列化
将内存状态写⾄⽂件常⽤的为json与pickle数据序列化,json序列化存储的⽂件可作为与java等语⾔的接⼝⽂件,但只能做简单数据的存储。
1import json
2 info = {"name":"Aaron",
3"sex":"male",
4"age":32}
5 f = open("json序列化.txt","w",encoding="utf-8")
6print(json.dumps(info))
7 f.write(json.dumps(info))
8 f.close()
打印数据:{"name": "Aaron", "sex": "male", "age": 32}
json序列化.txt中的数据
{"name": "Aaron", "sex": "male", "age": 32}
将数据存贮⾄⽂件中后,反序列化
1import json
2 f = open("json序列化.txt","r",encoding="utf-8")
3 data = json.ad())
pickle的序列化与反序列化与json⽅法⼀样,但存储的⽂件为⼆进制⽂件python怎么读文件
import pickle
info = {"name":"Aaron",
"sex":"male",
"age":32}
f = open("json序列化.txt","wb",) #此处应为wb
print(pickle.dumps(info))
f.write(pickle.dumps(info))
f.close()
打印出的值:b'\x80\x03}q\x00(X\x04\x00\x00\x00nameq\x01X\x05\x00\x00\x00Aaronq\x02X\x03\x00\x00\x00sexq\x03X\x04\x00\x00\x00maleq\x04X\x03\x00\x00\x00ageq\x05K u.' pickle的反序列化
1import json,pickle
2 f = open("json序列化.txt","rb")
3 data = pickle.ad())
4print(data["name"])
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论