gpt4 book ai didi

python - 在 Python 中将配置文件放在哪里?

转载 作者:IT老高 更新时间:2023-10-28 20:27:41 24 4
gpt4 key购买 nike

在开发模式下,我有以下目录树:

| my_project/
| setup.py
| my_project/
| __init__.py
| main.py
| conf/
| myproject.conf

我使用 ConfigParser解析 myproject.conf文件。

在我的代码中,很容易加载具有良好路径的文件:my_project/conf/myproject.conf

问题是:当我使用 setup.py 安装我的项目时,配置文件位于(感谢 setup.py)在 /etc/my_project/myproject.conf和我在 /usr/lib/python<version>/site-packages/my_project/ 中的应用程序.

如何引用我的my_project/conf/myproject.conf以“生产”模式在我的项目中创建文件,并在“开发”模式下引用本地文件(my_project/conf/myproject.conf)。

此外,如果可能的话,我希望是便携的(例如在 Windows 上工作)。

这样做有什么好的做法?

最佳答案

您了解配置文件的工作原理吗?阅读“rc”文件,因为它们有时被称为。 “bashrc”、“vimrc”等

配置文件通常需要多步搜索。

  1. 本地目录。 ./myproject.conf.

  2. 用户的主目录(~user/myproject.conf)

  3. 一个标准的系统级目录(/etc/myproject/myproject.conf)

  4. 由环境变量命名的地点 (MYPROJECT_CONF)

Python 安装将是最后一个查看位置。

config= None
for loc in os.curdir, os.path.expanduser("~"), "/etc/myproject", os.environ.get("MYPROJECT_CONF"):
try:
with open(os.path.join(loc,"myproject.conf")) as source:
config.readfp( source )
except IOError:
pass

关于python - 在 Python 中将配置文件放在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7567642/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com