1.IO流:(input output stream)
python的IO流只有一个函数:open函数
属性不用带括号;方法通通要带括号
输入输出流:狭义上来说,指的就是内存数据和磁盘这种可以永久 存储数据的设备
IO流
IO流的分类:1,输入流; 2,输出流
数据的类型:1,字节流; 2,字符流
file对象的常见方法:
read([num])
readline()
readlines()
write()
flush()
2. IO流:(input output stream):
1.输入输出流:狭义上来说,指的就是内存数据和磁盘这种可以永久 存储数据的设备:
2.数据类型: 1.字符流 2.字节流 数据流动的方向 1.输入流 2.输出流
站在内存的角度看待输出流和输入流 内存带磁盘--输出流
3.python如何操作IO流 掌握open函数=掌握IO流 open是全局函数
4.1 #全局函数一般都默认在built-in模块中
>>> #file对象的操作
>>> dir(f)
>>> # f.close() 关闭IO流
>>> # f.read(10) 表示读10个字节 f.read() 表示读完数据
>>> # f.readable 判断当前文件的状态 f.writable
>>> # f.readlines() 可以读一个列表
>>> #输出流
>>> msg = "我喜欢你,我的祖国!!!"
>>> ff = open("D:\\python-code存放代码\\firstproject\\b.txt","w")
>>> ff.readable()
False
>>> ff.write(msg)
12
>>> #内存是一台缓存设备, 硬盘存储速度太慢 所以引入内存作为一个缓存设备
>>> ff.flush()
>>> ff.write(msg)
12
>>> ff = open("b.txt","w",encoding="utf-8") 为一个缓存设备
>>> ff.write("hehe")
4
>>> ff.close()
>>> ff.read()
>>> ff.flush()
>>> ff.write(msg)
12
>>> ff = open("b.txt","w",encoding="utf-8") 为一个缓存设备
>>> ff.write("hehe")
4
>>> ff.close()
>>> ff.read()
>>> #读入一个数据
>>> f = open("b.txt", "r", encoding="utf-8")
>>> content = f.read()
>>> print(f"读取到这段数据:{content}")
读取到这段数据:hehe
>>> f.close()
>>> f.close()
>>> #写入一个数据
>>> f = open("b.dat","w",encoding="utf-8")
>>> msg = "你好吗?我的天那!!!""
>>> if f.writable():
... f.write(msg)
...
11
>>> f.close()
>>> 以上是字符流
>>> #字节流
>>> help(open)
KeyboardInterrupt
>>> #使用字节流读取磁盘上的文件数据
>>> f = open("b.txt", "rb")
>>> if f.readable():
... msg = f.read()
... print(msg)
>>> f = open("b.txt", "rb")
>>> f.read()
b'hehe'
>>> #字节流转字符流 decode("utf-8")
>>> #write函数只接受字节数据(需要将字符串转化为字节)---encode("utf-8")
>>> #字节流拷贝图片
>>>
>>> f = open("C:\\Users\\GUOGUO\\Pictures\\Camera Roll\\微信图片_20230302230932.jpg", "br")
>>> A
拷贝大文件---src--源文件路径 dist---目标文件路径