Python 如何处理argparse中缺少的参数?
我需要做以下工作:Python 如何处理argparse中缺少的参数?,python,python-2.7,argparse,default-arguments,Python,Python 2.7,Argparse,Default Arguments,我需要做以下工作: if脚本变量没有参数test==False elif存在参数-t或-test变量test==True else还有另一个参数将它们作为字符串获取并传递给第三个代码 现在我犯了一个错误: # ./cli something usage: cli [-t] cli: error: unrecognized arguments: something 我的前两步代码: import argparse parser = argparse.ArgumentParser(add_help
if
脚本变量没有参数test==False
elif
存在参数-t
或-test
变量test==True
else
还有另一个参数将它们作为字符串获取并传递给第三个代码# ./cli something
usage: cli [-t]
cli: error: unrecognized arguments: something
我的前两步代码:
import argparse
parser = argparse.ArgumentParser(add_help=False)
parser.add_argument('-t', '--test', action="store_true")
args = parser.parse_args()
if args.test is True:
intro = None
在argparse中,您需要将其作为单独的参数,例如:
import argparse
parser = argparse.ArgumentParser(add_help=False)
parser.add_argument('-t', '--test', action="store_true")
parser.add_argument('params', nargs='+')
args = parser.parse_args()
if args.test is True:
intro = None
elif args.params:
pass # process the params here
else:
pass # no params whatsoever
永远不要使用
is
而不是=
来测试是否相等:如果args.test为True,不要说,
你可以说如果args.test
在以下情况下应该属于-t
什么:cli-t first second
<代码>第一个和第二个
?如果条件不清楚,您可以选择。向我们展示几个预期的用例,以及您希望args
名称空间的外观。@smci。始终对单例使用is
,如无。同意你的第二句话。