这是使用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上遇到错误。有什么我不对的吗?有人能指出我正确的方向吗?
答案 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
将为您提供使用权。