可以使用argparse来初始化字符串的默认值

时间:2016-04-11 23:14:00

标签: python argparse defaults

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

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.

我当然误读了这份文件。有什么遗漏?

1 个答案:

答案 0 :(得分:1)

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