我在Python中使用Argparser来解析命令行参数。这是我的代码:
parser = argparse.ArgumentParser()
parser.add_argument('input', type=str)
parser.add_argument('method', type=str)
parser.add_argument('output', type=str)
args = parser.parse_args()
如果我指定python argparser.py input.txt hello_world output.txt
,它可以正常工作。我想支持python argparser.py -i input.txt -m hello_world -o output.txt
和python argparser.py --input input.txt --method hello_world --output output.txt
我试过这个,parser.add_argument('-i', 'input', type=str)
,但这似乎不起作用。它不断抛出错误。我该如何解决这个问题。
答案 0 :(得分:0)
像这样的东西
parser.add_argument('-i', '--input', help='Input')
您可以查看documentation
中的不同选项编辑:我从未尝试使用-i = input但不使用 = 的选项适用于我
答案 1 :(得分:0)
试试这段代码(它完全在我身边工作):
import argparse
def parse_args():
parser = argparse.ArgumentParser()
parser.add_argument("-i", "--input", type=str, help="input file")
parser.add_argument("-m", "--method", type=str, help="message")
parser.add_argument("-o", "--output", type=str, help="output file")
args = parser.parse_args()
return args
arguments = parse_args()
print(arguments)
print(arguments.input)
print(arguments.method)
print(arguments.output)
用法示例: python3 parse.py -i some
<强>结果:强> 命名空间(i =&#39; some&#39;,m = None,o = None)
答案 2 :(得分:0)
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-i','--input', type=str)
parser.add_argument('-m','--method', type=str)
parser.add_argument('-o','--output', type=str)
args = parser.parse_args()