【发布时间】:2020-05-14 23:47:35
【问题描述】:
我发现两个模块在使用io.BytesIO() 或io.StringIo() 和tempfile.TemporaryFile() 创建临时文件方面有很多相似之处
每个人的目的是什么?
【问题讨论】:
标签: python-3.x temporary-files stringio bytesio
我发现两个模块在使用io.BytesIO() 或io.StringIo() 和tempfile.TemporaryFile() 创建临时文件方面有很多相似之处
每个人的目的是什么?
【问题讨论】:
标签: python-3.x temporary-files stringio bytesio
io.BytesIO() 创建一个类似文件的对象,链接到一个内存区域,并且应该用于存储二进制数据(就像用来表示图像的数据,一个音乐、MS Word 文档等)。
io.StringIO() 创建一个类似文件的对象,链接到一个内存区域,并且应该用于存储文本数据(像一个html页面,一个php脚本,等)。
tempfile.TemporaryFile()在磁盘上(不在内存中)创建一个临时文件。使用第一个参数mode 指定或不指定b 标志以确定文件应该存储二进制数据还是仅存储文本。
【讨论】:
/tmp 目录。当在/tmp 中复制时,这种配置会将文件放入 RAM 而不是文件系统。这是在操作系统级别完成的,与 Python 工具无关。