如何使用 python argparse 可选参数
how to use python argparse optional argument
我的 python 代码看起来像这样
parser.add_argument("-c","--configFile",action ='store_true',\
help='I am here one travel')
想法是当 运行 -c
选项时,我可以 select 使用我的
特殊的配置文件。但是,我发出命令 python mypython.py
-c myconfig
,我得到 unrecognized argument: myconfig
。我错过了什么?
"-c" 将存储 True
或 False
,那么为什么要向它传递一个值 (myconfig)?你可以称它为:
python mypython.py -c
如果你想让 -c 接受一个参数,那么它不应该有动作 store_true。
正如 Adam 提到的,您需要更改解析器的 "action",如 in the docs 所述。
但听起来您想指出该特殊配置是否处于活动状态。在这种情况下,使用 action='store_true'
或 action='store_false'
是正确的。您只是不会传递 myconfig 参数。
parser = argparse.ArgumentParser(description='So something')
parser.add_argument(
'-c',
'--c',
dest='enable_config',
action='store_true',
required=False,
help='Enable special config settings',
)
我的 python 代码看起来像这样
parser.add_argument("-c","--configFile",action ='store_true',\
help='I am here one travel')
想法是当 运行 -c
选项时,我可以 select 使用我的
特殊的配置文件。但是,我发出命令 python mypython.py
-c myconfig
,我得到 unrecognized argument: myconfig
。我错过了什么?
"-c" 将存储 True
或 False
,那么为什么要向它传递一个值 (myconfig)?你可以称它为:
python mypython.py -c
如果你想让 -c 接受一个参数,那么它不应该有动作 store_true。
正如 Adam 提到的,您需要更改解析器的 "action",如 in the docs 所述。
但听起来您想指出该特殊配置是否处于活动状态。在这种情况下,使用 action='store_true'
或 action='store_false'
是正确的。您只是不会传递 myconfig 参数。
parser = argparse.ArgumentParser(description='So something')
parser.add_argument(
'-c',
'--c',
dest='enable_config',
action='store_true',
required=False,
help='Enable special config settings',
)