python - 可移植设置和应用程序数据存储,用Python?

标签 python settings persistent-storage

存储本地运行(桌面)Python 程序的设置和生成的应用程序数据的可移植方式是什么?是否有一些 pythonic 正确方法或广泛使用的第三方模块?

理想情况下,我想要一些可移植的方式来绑定(bind) OS X 的默认系统和 Windows 的 System.Configuration 系统。我会选择一种方法来获取正确的路径来存储用户操作系统的持久设置数据。

我了解各种相关技术,例如 sqlite/pickle/ConfigParser/json/shelve/dbm,但我还没有找到一种可移植的方法来确定用户操作系统和安装的正确位置情况...

例如在 Win XP/2000 上,它可能是: C:\Documents and Settings\<Windows login>\Application Data\<some app identifier>\

在 Windows Vista 和 Windows 7 上,它可能是: C:\Users\<Windows login/user name>\AppData\Roaming\<some app identifier>\

在大多数类 Unix 操作系统上,它可能是: ~/.<some app identifier>/

在 Mac OS X 上可能是: ~/Library/Application Support/<some app identifier>

我熟悉winpaths(来自pypi),但它似乎仅限于Windows。您是否总是使用 os.path 将点文件放入用户的主目录中并希望得到最好的结果?

最佳答案

有一个appdirs module on PyPi这应该以可移植的方式解决这个问题。

关于python - 可移植设置和应用程序数据存储,用Python?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16275031/

相关文章:

java - Java 中的持久阻塞队列?

python - AppEngine 警告 - OpenBLAS 警告 - 无法确定此系统上的 L2 缓存大小

c# - 为什么要使用 app.config 来存储配置数据?

python - ipython 笔记本 --pylab 内联 : zooming of a plot

python - 清理/验证 Kivy 设置用户输入

c# - ApplicationSettings 部分和 AppSettings 部分有什么区别?

core-data - -[NSCFDictionary initWithObjects :forKeys:count:]: attempt to insert nil value at objects[0] (key: sourceRelationship)

ios - 删除未引用的未使用的持久数据

python - 如何在数据帧命令中使用循环中的字符串?使用Python 3

Python,从类方法中删除列表项