我必须为我的python脚本读取CLI参数,然后由用户将该输入参数传递给方法。我想为用户提供她可以输入的有效参数列表,类似于在运行脚本时使用无效参数或不传递任何参数的脚本-它向您显示只能输入这些参数。
我知道我们可以使用argparse模块来实现这一点,但是在我的情况下,argparse将是一个过大的杀手-因为我只想将用户给方法提供的任何(有效)参数传递给我。我应该如何实现?
parser.add_argument('--system-status', '-st', metavar='<host>', type=str)
if args.system-status:
method(args.system-status)
对另外5个变量重复同样的内容吗?
答案 0 :(得分:0)
使用argparse库是一种方法,如果您不想检查每个参数,则可以使用如下代码:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--foo')
parser.add_argument('--bar')
parser.add_argument('--baz')
args = parser.parse_args()
def f(foo=None, bar=None, baz=None, **kwargs):
print(foo)
print(bar)
print(baz)
f(**args.__dict__)
**args.__dict__
会将字典中的args转换为kwargs。
如果您绝对不想使用argparse,则sys.argv将为您提供传递给该函数的参数列表。