没有带Pythons argparse开关的可选参数

时间:2015-11-23 13:34:42

标签: python-3.x argparse

(请随时修改标题,以便更好地理解。)

我想以这两种方式调用(在bash上)一个Python脚本,没有任何错误。

./arg.py
./arg.py TEST

这意味着参数(此处带有值TEST)应该是可选的。 使用argparse,我只知道在有交换机时创建可选参数的方法(如--name)。

有没有办法解决这个问题?

#!/usr/bin/env python3    
import sys
import argparse

parser = argparse.ArgumentParser(description=__file__)

# must have
#parser.add_argument('name', metavar='NAME', type=str)

# optional BUT with a switch I don't want
#parser.add_argument('--name', metavar='NAME', type=str)

# store all arguments in objects/variables of the local namespace
locals().update(vars(parser.parse_args()))

print(name)

sys.exit()

0 个答案:

没有答案