文件 I/O 是对硬盘(外存)的操作,很多情况下,需要在内存中存储并操作数据(例如网页上动态生成图片、压缩包),在 Python 中可以使用 StringIO
和 BytesIO
实现这一点。
变量本身就是对内存的操作,此处的
StringIO
和BytesIO
提供类似文件 I/O 的,便于使用的流式操作接口。
StringIO
顾名思义,是对字符串的 I/O 操作,和文件 I/O 一样,支持 read
,write
,tell
,seek
等方法;并可以通过 getvalue
方法获取完整的字符串。
BytesIO
顾名思义,是对字节数据的 I/O 操作,和文件 I/O 一样,支持 read
,write
,tell
,seek
等方法;并可以通过 getvalue
方法获取完整的 bytes
。