我花了一些时间在 argparse 文档上,但我仍然在为我的程序中的一个选项使用这个模块而苦苦挣扎:
parser.add_argument("-r", "--rmsd", dest="rmsd", nargs=2,
help="extract the poses that are close from a ref according RMSD",
metavar=("ref","rmsd"))
我希望第一个参数是一个字符串(类型str
)并且是强制性的,而第二个参数应该具有类型int
,如果没有给出值,则有一个默认值(假设default=50
)。我知道当只有一个参数时该怎么做,但我不知道当 nargs=2 时如何继续......这可能吗?
您可以执行以下操作。这required
关键字将字段设置为必填字段,并且default=50
如果未指定,则将该选项的默认值设置为 50:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-s", "--string", type=str, required=True)
parser.add_argument("-i", "--integer", type=int, default=50)
args = parser.parse_args()
print args.string
print args.integer
Output:
$ python arg_parser.py -s test_string
test_string
50
$ python arg_parser.py -s test_string -i 100
test_string
100
$ python arg_parser.py -i 100
usage: arg_parser.py [-h] -s STRING [-i INTEGER]
arg_parser.py: error: argument -s/--string is required
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)