Python 3.x Python语法分析困难
我正在尝试使用内置Python模块Python 3.x Python语法分析困难,python-3.x,command-line-arguments,Python 3.x,Command Line Arguments,我正在尝试使用内置Python模块argparse为我的程序创建一个命令行参数解析器。我希望用户能够正常运行我的程序,或者运行演示。要运行演示,需要一个演示编号,这将是一个命令行参数。因此,基本上,命令行参数可以是这些格式之一 python3 blah.py normal python3 blah.py演示版 如何允许用户使用其中一个选项,但不能同时使用这两个选项?另外,在使用演示选项而不是使用普通选项时,如何设置所需的演示编号 提前感谢。您可以使用互斥组(我已将参数更改为-demo num
argparse
为我的程序创建一个命令行参数解析器。我希望用户能够正常运行我的程序,或者运行演示。要运行演示,需要一个演示编号,这将是一个命令行参数。因此,基本上,命令行参数可以是这些格式之一
python3 blah.py normal
python3 blah.py演示版
提前感谢。您可以使用互斥组(我已将参数更改为-demo number和-normal):
非常感谢。另外,如何使使用这两个选项都是非法的?@Anonymous1847即使您没有传递任何参数或参数的1,这也是有效的。只有当您同时使用这两个参数时,python.exe d:\arguments.py-normal-demo 3Yes才会显示无效。我想问的是,如何要求用户使用互斥组中的一个(确切地说是一个)参数。
import argparse
parser = argparse.ArgumentParser()
group = parser.add_mutually_exclusive_group()
group.add_argument('-demo', action='store',
dest='demonum',
help='demo execution')
group.add_argument('-normal', action='store_true',
help='normal execution')
parsed = parser.parse_args()
print(parsed.demonum)
print(parsed.normal)