我正在为 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