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工具无关