Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x tempfile模块和IO类文件对象之间有什么区别_Python 3.x_Temporary Files_Stringio_Bytesio - Fatal编程技术网

Python 3.x tempfile模块和IO类文件对象之间有什么区别

Python 3.x tempfile模块和IO类文件对象之间有什么区别,python-3.x,temporary-files,stringio,bytesio,Python 3.x,Temporary Files,Stringio,Bytesio,我发现这两个模块在使用io.BytesIO()或io.StringIo()和tempfile.TemporaryFile()创建临时文件方面有很多相似之处 每一个的目的是什么 io.BytesIO()创建一个链接到内存区域的类似文件的对象,并应用于存储二进制数据(如用于表示图像、音乐、MS Word文档等的数据) io.StringIO()创建一个链接到内存区域的类似文件的对象,并应用于存储文本数据(如html页面、php脚本等) tempfile.TemporaryFile()在磁盘上创建一个

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

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

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


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

临时文件,正如您在答案的最后两段中所看到的,他说这取决于操作系统,因此,我认为创建此模块的背后还有其他原因,这是因为在Unix系统(macOS、Linux)上,您可以在RAMdisk中挂载
/tmp
目录。在
/tmp
中复制时,这种配置将文件放入RAM而不是文件系统。这是在操作系统级别完成的,与Python工具无关