我有一个必须在 Windows 和 Linux 上运行的 python 程序。我通常将一些配置选项存储在程序目录的子目录中的文件中。
对于 Windows,我将其转换为 exe 并为其创建了一个安装程序。现在我有处理配置文件的问题。
保存配置文件的最佳位置是什么?我已经读过对于 Windowsos.environ['APPDATA']+'myAppName'是必须使用的路径。这是正确的吗?它是标准的吗?它是否可以在所有版本的 Windows 中运行,至少从 XP 开始(至少在英语和西班牙语中)?
PD:我对使用 ConfigParser 不感兴趣。配置文件是我自己的格式,我有从中读取/写入的工作代码。
将设置存储在用户目录中通常是个好主意。
这些天,您可能应该使用类似appdirs库的东西来找到一个好的路径来存储您的配置。
在大多数 Unices 下,只需在主目录中存储一个(最好是点前缀的)文件。在 OS X 下,您需要在用户的 Library 文件夹中为您的应用程序创建一个目录,并将您的文件存储在那里。在 Windows 下,APPDATA 是为您的应用程序构建目录的好地方。它应该适用于所有 Windows 本地化,而且看起来它也适用于 Windows XP。
现在有一个更好的解决方案......比推测每个平台上最好的解决方案更好,比可能定义也可能未定义的环境变量更好,甚至比appdirs:( platformdirsGitHub ,PyPI Snyk)更好。
import platformdirs
appname = 'OurGreatApp'
print(f"User config files should be stored in {platformdirs.user_config_dir(appname)}")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3981 次 |
| 最近记录: |