python 中的IO流

1、IO流

IO流(input output stream):主要指的是计算机输入和输出的操作,一般来说是内存与磁盘之间的输入输出(狭义)

IO流操作是一种持久化操作,是将数据持久化在磁盘上

python如何操作IO流 ------ 通过open全局函数(主要作用是打开本地的文件)
open函数解析:

第一个参数:file(打开的文件的文件名或者路径)
第二个参数:mode 打开的模式(默认的是字符输入流)
其他参数:‘r’ open for reading(default)
‘w’ open for writing,truncating the file first
‘x’ create a new file and open it for writing
‘a’ open for writing,appending to the end of the file if it exits
‘b’ binary mode
‘t’ text mode(default)

IO流的分类:

1.根据数据的流动(站在内存的角度来说)的方向:1)输入流;2)输出流

注:把数据保存在硬盘里是输出流

2.根据数据的类型:1)字节流(储存图片、视频等);2)字符流

1.1IO操作字符数据

>>> f = open("aa.txt",mode="w") 
>>> f 
<_io.TextIOWrapper name='aa.txt' mode='w' encoding='cp936'> 
>>> f.write("嘿嘿嘿嘿") 
#返回的是写入字符的个数 
4
>>> f.close()
>>> f = open("aa.txt",mode="w") 
>>> f.write("哈哈哈哈 哈哈哈哈 哈哈哈哈") 
15
>>> f.flush() #在不关流的情况下 写入需要写入的东西

不覆盖的方式

>>> f = open("aa.txt",mode="a") 
>>> f.write("hhhhhhhhh") 
9
>>> f.close()
注:本质Mode=“r" “w”------“rt” “wt”------t(text字符流)
>>> f = open("a.txt",mode="wt",encoding="utf-8")
>>> f.write("你好你好") 
4
>>> f.close() 
>>> f = open("a.txt",mode="rt") 
>>> f.read(2) '浣犲' 
>>> f.read(2) 'ソ浣' 
>>> f.close() 
>>> f = open("a.txt",mode="rt") 
>>> f.read(2) 
'你好'
while True: 
		masg = f.read(2)
		if msg = "": 
			break 
		else:
			#继续读

注意编码格式,如果编码格式不一致,会报错或者乱码

1.2IO操作字节数据

b------ binary mode
mode=“b”------操作字节数据(图片、音频、视频等)

>>> f = open("图片1.png","rb") 
>>> f.read() 
>>> f = open("图片1.png","rb") 
>>> ff = open("图片.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'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值