定义args时发生错误

时间:2015-04-16 23:09:30

标签: python argparse

这是使用python2.7

的代码main.py
import argparse
import cv2

ap = argparse.ArgumentParser()

ap.add_argument("-1","--image", required = True, help = "Path to the image")
Out[4]: _StoreAction(option_strings=['-1', '--image'], dest='image', 
nargs=None, const=None, default=None, type=None, choices=None, help='Path to 
the image', metavar=None)

args = vars(ap.parse_args())
  

用法:主要 .py [-h] -1图片       主要 .py:错误:参数-1 / - 图像是必需的       退出:使用“退出”,“退出”或Ctrl-D。       发生异常,使用%tb查看完整的回溯。

SystemExit: 2

尽管遵循了这些步骤,我仍然在代码行4上遇到错误。有什么我不对的吗?有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:3)

在交互式shell中使用argparse将无法正常工作。 argparse本质上是从sys.argv中提取参数并根据您设置的规则解析它们。正如raylu所说,我建议设置一个python文件来运行。例如,在名为test_argparse.py的文件中:

import argparse
import cv2

if __name__ == "__main__":
    ap = argparse.ArgumentParser()
    ap.add_argument("-1","--image", required = True, help = "Path to the image")
    args = vars(ap.parse_args())
    print args['image']

然后,您可以通过在命令行执行python test_argparse.py来对此进行测试。现在可以使用-1--image-h--help标记来调用此标记。 -h--help将为您提供使用权。