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

2024-09-30 01:29:39 发布

您现在位置:Python中文网/ 问答频道 /正文

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

python ./main.py ./config.py

我知道在lua中我可以使用dofile函数。我怎样才能在Python中做到这一点

Dynamic module import in Python固定


Tags: 函数命令行inpyimportconfigmaindynamic
2条回答
# 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

免责声明:我不能评论

你能把变量导入主.py? 你知道吗

from .config import config

#do stuff

我能想象的唯一其他方法就是,如果你把管道连接到主.py手动或其他方式归档和解析:

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

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

相关问题 更多 >

    热门问题