如何处理 argparse 中缺少的参数?
How to handle missing arguments in argparse?
我需要做以下事情:
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
我需要做以下事情:
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