I/O流即input/output
由于内存中的东西无法长期的保存,所以需要将内存中的东西存放到硬盘中,所以产生了I/O流
主要使用open()来进行
open(file, mode=‘r’, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
file: 文件路径(相对或者绝对路径)。
mode: 可选,文件打开模式
encoding: 一般使用utf8
newline: 区分换行符
open函数()
图片来自菜鸟教程
按照操作数据的类型:
读取到的是字符串或者文本文档
c=open("D:\\temp\\python\\1.txt","r",encoding="utf-8")#打开文件
print(c.read())#读取文件
c.close()#关闭文件
读取到的是字节
c=open("D:\\temp\\python\\a.png","rb")#打开文件
print(c.read())#读取文件
c.close()#关闭文件
按照流的方向
c=open("D:\\temp\\python\\1.txt","r",encoding="utf-8")#打开文件
print(c.read())#读取文件
c.close()#关闭文件
c=open("D:\\temp\\python\\a.txt","w")#创建文件
c.write("你好啊")#编辑文件
c.close()#关闭文件
由于使用open()结束后必须要关闭容易忘记,所以python提供了with来自动关闭
with open("D:\\temp\\python\\a.txt", "r") as f:
print(f.read())
print("结束了")
所谓序列化就是将字符转化为字节
反序列化就是将字节转化为字符
import pickle
ls=[1,2,3,4]
a=pickle.dumps(ls)#将ls序列化为a
print(a)
ts=pickle.loads(a)#将a反序列化为ts
print(ts)