【发布时间】:2012-10-28 01:10:55
【问题描述】:
我正在尝试使用 *.py 文件从我的 python 应用程序中的多个导入中获取变量并使用它们,类似于 Django 设置文件的工作方式。
一个示例设置文件:
DB_NAME = 'foo'
DB_TABLE = 'bar'
#Lots of other variable names and values here
这样做的好处是我可以非常快速地加载不同的设置。我可以在任何我想要的地方引用一种全局“DB_NAME”,而无需处理特定的对象。
缺点是我必须更改每个必须导入它们的文件中的导入语句。
我可以设置它以便我导入文件一次,然后引用通用导入来获取所有这些值吗?
或者有更好的方法吗?
感谢任何帮助。
编辑:问题源于有多个设置文件。我必须为一个文件导入 settings.py,或者如果我想要一个不同的设置文件,我需要更改所有导入语句以引用 test_settings.py 等。
我不想手动更改导入位置以更改在整个应用程序中导入的内容。
【问题讨论】:
-
我不确定我是否理解这个问题。每个 Python 模块只是一个命名空间。如果您有类似 mypacakge/settings.py 的内容,只需编写
from . import settings,然后访问您的选项,如settings.DB_NAME等。 -
我不确定我是否理解您的回答。我已经更新了我的问题。如果它更有意义,请告诉我。