shaoheshaohe 发表于 2020-12-23 19:32:11

BytesIO

StringIO操作的只能是str,如果要操作二进制数据,就需要使用BytesIO。BytesIO实现了在内存中读写bytes,我们创建一个BytesIO,然后写入一些bytes:>>> from io import BytesIO>>> f = BytesIO()>>> f.write('中文'.encode('utf-8'))6>>> print(f.getvalue())b'\xe4\xb8\xad\xe6\x96\x87'请注意,写入的不是str,而是经过UTF-8编码的bytes。和StringIO类似,可以用一个bytes初始化BytesIO,然后,像读文件一样读取:>>> from io import BytesIO>>> f = BytesIO(b'\xe4\xb8\xad\xe6\x96\x87')>>> f.read()b'\xe4\xb8\xad\xe6\x96\x87'

shaoheshaohe 发表于 2020-12-23 19:32:23

StringIO和BytesIO是在内存中操作str和bytes的方法,使得和读写文件具有一致的接口。

shaoheshaohe 发表于 2020-12-23 19:32:38

https://www.liaoxuefeng.com/wiki/1016959663602400/1017609424203904
页: [1]
查看完整版本: BytesIO