如何访问从文件中的变量通过命令行传递

如何访问从文件中的变量通过命令行传递

本文介绍了如何访问从文件中的变量通过命令行传递的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

目前我有 config.py 在我的包,我可以访问其他的py文件config.py定义的变量为

Currently I have config.py in my package and I can access variables defined in config.py from other py files as

import config
var1 = config.var1

首先,我可以通过文件作为参数?
test.py config.py

但是,有没有办法通过命令行传递的配置文件作为参数,访问它定义的变量?我看到有 SYS 模块通过命令行获得通过参数。但是我可以传递文件中定义的变量?

But is there way to pass config file through command line as argument and access the variables defined in it? I see there is sys module to get arguments passed through command line. But can I get variables defined in passed file?

修改
现在我能够访问的变量传递文件 __ __进口(sys.argv中[1])键,名为蟒蛇test.py配置。但是我可以通过给PYTHONPATH叫config.py文件? E /克/ 蟒蛇test.py〜/桌面/配置 PYTHONPATH =〜/桌面/蟒蛇test.py配置?因为如果我这样做,我得到没有模块误差

editNow I am able to access variables in passed file as __import__(sys.argv[1]) and called python test.py config. But can I call config.py file by giving pythonpath? e/g/ python test.py ~/Desktop/config or PYTHONPATH='~/Desktop/' python test.py config? Because if I do this I get no module error.

推荐答案

在与导入配置做些什么 config.py让所有名字在脚本中使用。

您可以用做 __ __进口(sys.args [1])像答案的。

但实际程序配置,肯定不来看看的模块!

But for actual program configuration, sure do take a look at the argparse module!

p = argparse.ArgumentParser(description="...")
p.add_argument("--var1", type=int)
p.add_argument("--var2", type=str)

config = p.parse_args() # will look at sys.args by default

if config.var1 > 10:
    ....

这篇关于如何访问从文件中的变量通过命令行传递的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-29 02:06