Python内存中的读取与写入

Python内存中的读取与写入

1、内存中的读写-StirngIO

StirngIO顾名思义就是在内存中读写str字符串

sio.write(str)
功能:将字符串写入sio对象中。

sio.getvalue()
功能:获取写入的内容

from io import StringIO#
sio = StringIO()
sio.write("hello")
sio.write("good")
print(sio.getvalue())
#结果:hellogood

sio2.read()
功能:一次性读取所有的sio对象中的内容

from io import StringIO#
sio2 = StringIO("hello jerry!!!")
print(sio2.read())
#结果:hello jerry!!!
2、在内存中读取二进制字符串-BytesIO

StringIO操作的只能是str,如果要操作二进制数据,就需要使用BytesIO,BytesIO实现了在内存中读写bytes。

与StringIO操作类似,但是注意要进行编码写入bytes

from io import BytesIO
f = BytesIO()
f.write("中文".encode('utf-8'))#写入的不是str,而是经过UTF-8编码的bytes
print(f.getvalue())#未解码
print(f.getvalue().decode("utf-8"))#解码

#结果
#未解码:b'\xe4\xb8\xad\xe6\x96\x87'
#解码:中文
from io import BytesIO
bio2 = BytesIO("中国红".encode("utf-8"))
print(bio2.read().decode("utf-8"))
#结果:中国红
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值