什么是io流:
input output stream,主要指的是计算机输入输出的操作,一般是内存与磁盘之间的输入输出
IO流操作是一种持久化操作,是将数据持久化在磁盘上
python如何操作IO流:
通过open全局函数-----主要是打开本地的文件
open函数解析:IO操作字节数据
第一个参数:file(打开文件的文件名或者路径)
第二个参数:mode打开的模式(默认是字符输入流)
其他参数:
'r' open for reading(default)
'w' open for writing,truncating the file first
'a' open for writing,appending to the end of tje file if it exists
'x' create a new file and open it for writing
'b' binary mode
't' text mode(defaule)
IO流的分类:
根据数据的流动方向(站在内存的角度):
输入流
输出流
思考:把数据保存在硬盘里是输入流还是输出流?----输出流
根据数据的类型:
字节流
IO操作字节数据
b----- binar mode
mode = "b" -----操作字节数据(图片、音频、视频等)
f = open("图片1.png","rb")
f.read()
f = open("图片1.png","rb")
ff = open("图片1.png","wb")
ff.write(f.read)
ff.write(f.read())
f.close()
ff.close()
注意:字节流操作大数据的时候,不建议一次性读取
字节可以操作任何数据,字符只能操作字符数据
>>> f = open("a.txt","rt")
>>> f.read()
'你好你好'
>>> f = open("a.txt","rb")
>>> f.read()
b'\xc4\xe3\xba\xc3\xc4\xe3\xba\xc3'