我需要像
一样通过 Python test.py -H host -U usr -P pass -L c:\newfolder\sample.sh -R /shell/sample.sh
我收到错误消息too many values to unpack
请帮助我实现这一目标。
def check_argv(args=None)
parser = argparse.argumentParser()
parser.add_arugument('-H' , 'host')
#Same for all argument
#---------------------------------
Host, pass, user , local , remote = check_arg(sys.argv[1:])
答案 0 :(得分:1)
您可能会收到错误消息,因为您所收集的值比函数元组返回的值少。这是正确的。
以及使用argparser函数的正确方法:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-H', action="store", dest="host")
parser.add_argument('-U', action="store", dest="usr")
params = parser.parse_args()
在代码中,您可以像这样获取参数
# FETCHING ARGUMENT DETAILS
print(params.host, params.usr)
输出:
$python test.py -H hostname -U testuser
>>>hostname testuser
您可以继续添加所需数量的值,并以相同的方式取回它们。