【发布时间】:2015-04-09 10:52:49
【问题描述】:
我需要做以下事情:
-
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
【问题讨论】:
-
永远不要用
is代替==来测试相等性:不要说if args.test is True:你可以说if args.test -
-t在以下情况下应该属于什么:cli -t first second?first和second? -
您
if条件不清楚。向我们展示几个预期的使用案例,以及您希望args命名空间的外观。 -
@smci。对于单例,始终使用
is,例如 None。不过同意你的第二个说法。
标签: python python-2.7 argparse default-arguments