我必须读取python脚本的CLI参数,然后将用户的输入参数传递给方法。我想为用户提供一个她可以输入的有效参数的列表,当你运行脚本时,如果参数无效或没有参数传递,它会告诉你你只能输入这些参数。
我知道我们可以使用argparse模块来实现这一点,但在我的例子中,argparse将是一种过度的杀伤力-因为我只想传递用户给方法提供的任何(有效)参数。我该如何实现这一点呢?
parser.add_argument('--system-status', '-st', metavar='<host>', type=str)
if args.system-status:
method(args.system-status)对其他5个变量重复相同的内容?
发布于 2018-12-21 21:20:59
可以使用argparse lib,如果你不想检查每个参数,你可以使用如下代码:
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会给你传递给函数的参数列表。
https://stackoverflow.com/questions/53885228
复制相似问题