如何在argparse python中将文件路径作为命令行匹配传递

时间:2018-09-11 07:01:15

标签: python python-2.7 argparse

我需要像

一样通过
 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:])

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

您可以继续添加所需数量的值,并以相同的方式取回它们。