目前我的配置选项(常量/变量)有点碎片,我的大部分都在config.py中,但有些在顶部的myfile.py中。
/utilities/myfile.py
/config.py
您可以在myfile.py中找到的示例是:
TEMP_DIR = '/tmp'
如果我想将此定义从myfile.py移到我的config.py中,但仍然在myfile.py中使用它,我该怎么办呢?
我是python的新手,但我认为它是myfile.py
顶部的内容。from config
答案 0 :(得分:0)
答案 1 :(得分:0)
变体1
from config import *
这会调用myfile.py中的整个命名空间
变体2
from config import foo, bar, baz
必须提到myfile.py中使用的永久值。
变体3
import config
...
x = config.foo
每个值都需要参考config。
您的选择,但我更喜欢变体3.要在myfile.py中查看 config.py,您必须编辑 PYTHONPATH 或使用相对导入:< / p>
from ... import config
答案 2 :(得分:0)
另一种方法是使用execfile
。这样可以更轻松地使用不同的配置文件(例如,指定要在命令行上使用的配置文件)。
示例:
# myconfig.py
TEMP_DIR = "/tmp/"
# myotherconfig.py
TEMP_DIR = "/tmp/foo"
# program.py (the main program)
import sys
config = {}
execfile(sys.argv[1], config)
print config["TEMP_DIR"]
调用程序:
$ python program.py myconfig.py
/tmp/
$ python program.py myotherconfig.py
/tmp/foo