我应该将正在开发的应用程序的临时文件保存在哪里?

我应该将正在开发的应用程序的临时文件保存在哪里?

我正在为 Ubuntu App Showdown 2012 开发一款应用,名为“myapp”。它需要从网络下载文件,临时存储它们,然后读取它们。我应该将这些文件保存在哪里?现在我在 中进行操作/tmp/myapp/,因此此路径在我的代码中是“硬编码”的。

如果我还需要修改/写入这些临时文件,我的问题的答案会改变吗?

答案1

我认为您想使用 xdg 模块 - 事实上,我认为至少在一次应用程序对决研讨会上提出了这一点。

xdg 模块提供了一种获取某些文件存储基本路径的方法。

因此,对于临时文件来说,这~/.cache似乎是一个不错的选择。

http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html

$XDG_CACHE_HOME 定义应存储用户特定非必要数据文件的基本目录。如果 $XDG_CACHE_HOME 未设置或为空,则应使用默认值 $HOME/.cache。

例子:

import xdg.BaseDirectory
import os

temp_path = os.path.join(xdg.BaseDirectory.xdg_cache_home, 'app_name', 'downloads')
print temp_path

相关内容