1

我想为我的 Python 脚本 (3.4) 初始化基本变量,同时为最终用户提供通过命令行选项更改这些变量定义的机会。看起来 argparse 是要走的路。我已经从这里开始了,这适用于我的所有用例,除了下面的一个:

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--con',dest='targFileName',default='targets.con')
args = parser.parse_args()
print(targFileName)

导致错误:

bash-4.1$ python test.py
Traceback (most recent call last):
File "test.py", line 7, in <module>
print(targFileName)
NameError: name 'targFileName' is not defined.

当然,我误读了文档。少了什么东西?

4

1 回答 1

1

您使用args = parser.parse_args(),但这并未定义全局范围内的所有参数。这只是返回一个具有参数属性的类的实例。要获得该论点,请使用args.targFileName. 你也可以说args = vars(parser.parse_args())这样你就可以使用args['targFileName'].

于 2016-04-11T23:19:39.177 回答