Python中io模块下的StringIO和BytesIO
程序员文章站
2024-01-04 17:04:52
...
- StringIO-以字符串形式进行内存读写
- BytesIO-以 二进制形式进行内存读写
1. 导入模块
from io import StringIO, BytesIO
2. StringIO
f = StringIO() # 新建StringIO对象
f.write('everything is possible') # 向对象指定内存写入内容
data = f.getvalue() # 读取当前内存中所有的数据
print(data)
3. BytesIO
-
实现字符串读取
b = BytesIO()
b.write("Hello World".encode('utf-8')) # encode:编码(str-->byte) decode:解码(byte-->str)
data = b.getvalue().decode()
print(data)
- 以二进制形式实现图片,音频等读写
from PIL import Image # 导入图像读取模块
b = BytesIO()
img = Image.open("0.jpg") # 打开图像
img.save(b, 'jpeg') # 将图像以jpg格式保存到内存中
data = b.getvalue() # 读取内存数据
print(data)