Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.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-库应该在哪里存储临时文件?_Python_Package_Temporary Files_Temporary Directory - Fatal编程技术网

Python-库应该在哪里存储临时文件?

Python-库应该在哪里存储临时文件?,python,package,temporary-files,temporary-directory,Python,Package,Temporary Files,Temporary Directory,我正在编写一个Python库,它需要在本地机器上缓存远程数据 我想防止库污染操作系统并将临时文件放在不属于它们的地方。使用操作系统默认的临时文件夹似乎有点冗长,因为我想使用一种与操作系统无关的方法来实现这一点 在包文件夹中存储缓存文件是否可行?Python安装是否有临时文件文件夹 帮助太好了!:) 考虑使用tempfile,请参见默认答案是使用tempfile;如果您使用的是其他跨平台工具包,可能有其他抽象的实现方法,例如在PYQT/PYSADE中。也考虑给用户指定库如何处理临时文件或存储它们的

我正在编写一个Python库,它需要在本地机器上缓存远程数据

我想防止库污染操作系统并将临时文件放在不属于它们的地方。使用操作系统默认的临时文件夹似乎有点冗长,因为我想使用一种与操作系统无关的方法来实现这一点

在包文件夹中存储缓存文件是否可行?Python安装是否有临时文件文件夹


帮助太好了!:)

考虑使用
tempfile
,请参见默认答案是使用
tempfile
;如果您使用的是其他跨平台工具包,可能有其他抽象的实现方法,例如在PYQT/PYSADE中。

也考虑给用户指定库如何处理临时文件或存储它们的位置的可能性。但您不必担心,因为所有临时文件都将被删除(特定于用户的操作系统、重新启动时或间隔时间)。每次调用它时,它将为您提供另一个不同的文件路径,不会发生冲突。如果您创建tempfile.TemporaryFile对象,它将在关闭时自动销毁(显式和隐式)。如果您使用tempfile.mkstemp,您将负责删除临时文件。如果使用tempfile.mkdtemp创建临时目录来存储所有文件,则您将负责删除该文件directory@ftartaggia我不知道

TemporayFile
对象,谢谢您指出它。@qiao如果您感兴趣,tempfile模块还定义了NamedTemporaryFile和SpooledTemporaryFile(临时文件只存储在内存中,直到其大小超过某个阈值或调用其fileno()方法为止)@ftartaggia很高兴知道这一点。我将更深入地查看文档。感谢您的努力:)如果缓存需要在重新启动后存活,那么这些文件不是临时的。相反,您可以研究跨平台的
user\u cache\u dir
功能。