如何从python中的另一个文件中获取变量

时间:2015-01-20 10:03:21

标签: python

例如,我在config中有一个变量config.py。我想在config中使用变量main.py config.py必须通过命令行传递给main.py。如下:

python ./main.py ./config.py

我知道lua我可以使用dofile功能。如何在Python

中执行此操作

Dynamic module import in Python

修正

2 个答案:

答案 0 :(得分:0)

免责声明:我无法发表评论

你能直接在main.py中导入变量吗?

from .config import config

#do stuff

唯一可以想象的其他方法,如果您将该行传递给main.py文件并用手或其他东西解析它:

cat config.py | grep 'config = ' | sed -e 's,config = ,,g' | python main.py

如果config仅在文件中使用一次,并且它所代表的值在=后面,并且你知道它是字符串还是int等,那么这只会起作用。

答案 1 :(得分:0)

# main.py
import sys
import os

if __name__ == "__main__":
    var_name = "config"
    arg = sys.argv[1]
    module_path = os.path.realpath(os.path.dirname(arg))
    if module_path not in sys.path:
        sys.path.insert(0, module_path)

    module_name = os.path.basename(arg).replace(".py", "")
    module = __import__(module_name)
    config_var = getattr(module, var_name)
    # use config_var
相关问题