tempfile 模块和 IO 类文件对象有什么区别

What are the differences between tempfile module and IO file-like objects

我发现这两个模块在使用 io.BytesIO()io.StringIo()tempfile.TemporaryFile() 创建临时文件方面有很多相似之处 每一个的目的是什么?

io.BytesIO() 创建一个链接到 内存区域 的类文件对象,应该用于存储 二进制数据 (例如用于表示图像、音乐、MS Word 文档等的数据)。

io.StringIO() 创建一个链接到 内存区域 的类文件对象,应该用于存储 文本数据 (如 html 页面、php 脚本等)。

tempfile.TemporaryFile() 在磁盘(不在内存中)上创建一个临时文件。使用第一个参数 mode 指定或不指定 b 标志以确定文件是否应存储二进制数据或仅存储文本。