python-sys.argv CLI参数的助手列表



我必须读取python脚本的CLI参数,然后由用户将该输入参数传递给方法。我想为用户提供一个她可以输入的有效参数列表,比如当您使用无效参数或未传递参数运行脚本时,它会显示您只能输入这些参数。

我知道我们可以通过argparse模块来实现这一点,但在我的情况下,argparse会有些过头了——因为我只想传递用户给方法的任何(有效)参数。我应该如何做到这一点?

parser.add_argument('--system-status', '-st', metavar='<host>', type=str)
if args.system-status:
method(args.system-status)

同样的东西在其他5个变量中重复?

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会给你传递给函数的参数列表。

最新更新