除了将数据写入到一个文件以外,我们还可以使用代码,将数据暂时写入到内存里,可以理解为数据缓冲区。Python中提供了StringIO
和BytesIO
这两个类将字符串数据和二进制数据写入到内存里。
StringIO
可以将字符串写入到内存中,像操作文件一样操作字符串。
from io import StringIO
# 创建一个StringIO对象
f = StringIO()
# 可以像操作文件一样,将字符串写入到内存中
f.write('hello\r\n')
f.write('good')
# 使用文件的readline和readlines方法,无法读取到数据
# print(f.readline())
# print(f.readlines())
# 需要调用getvalue()方法才能获取到写入到内存中的数据
print(f.getvalue())
f.close()
如果想要以二进制的形式写入数据,可以使用BytesIO
类,它的用法和StringIO
相似,只不过在调用write方法写入时,需要传入二进制数据。
from io import BytesIO
f = BytesIO()
f.write('你好\r\n'.encode('utf-8'))
f.write('中国'.encode('utf-8'))
print(f.getvalue())
f.close()