一、I0流
定义 :
IO流主要说的是计算机的输入输出操作。但是在python里的IO流主要指的是内存和磁盘之间的数据流动。
在python中,以内存为参照,将IO流分为输入流和输出流。
python中IO流的操作—open函数
open函数的主要功能是打开本地文件
open函数的参数
1、file
表示要打开文件的路径,打开当前目录下的文件时可以不写路径。
2、mode
a.open("b.txt",mode="r")
a.read() #默认read(size=-1),表示读到文件的末尾。
a.open("b.txt",mode="w")
a.write("要写入的内容") #会覆盖掉原数据。
a.open("b.txt",mode="x") #创建一个b.txt文件并以mode="r"的方式打开
a.write("要追加的内容") #不会覆盖掉原数据。
a.open("b.txt",mode="a")
a.write("要追加的内容") #不会覆盖掉原数据。
a.open("b.txt",mode="t") #以字符流的形式打开文件(默认)
a.open("b.txt",mode="b") #以字节流的形式打开文件
a.open("b.txt",mode="+") #mode="+" 等同于mode="r" + mode="w"
4、flush()
刷新缓存区,使更改生效。在每次执行close的时候会自动执行fiush()
a.flush()
3、close()
关闭IO流
a.close()
注:IO流在使用时会占用内存资源,所以在使用完成后需要立马关闭。
二、对象序列化
将内存中的对象转换成字节或字符数据的过程。
1、pickle-将对象转化为字节数据
首先要进行导包import pickle
pickle.dumps(对象) #将对象转换成字节数据(序列化)
pickle.loads(对象) #将二进制数据转换为对象(反序列化)
2、json-将对象转化为字符数据(建议对字典对象进行转化)
json.dumps(对象) #将对象转换成字符数据(序列化)
json.loads(对象) #将字符数据转换对象(反序列化)