问题描述
目前我有 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:
....
这篇关于如何访问从文件中的变量通过命令行传递的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!