在python中解析命令行参数

时间:2019-09-25 05:23:27

标签: python jupyter-notebook jupyter argparse

必须执行命令行解析,并且出现此错误。我对Python还是很陌生,我不知道该错误意味着什么。

ap = argparse.ArgumentParser()
ap.add_argument("-i", "--image", required=True,
    help="path to input image")
ap.add_argument("-m", "--mask-rcnn", required=True,
    help="base path to mask-rcnn directory")
ap.add_argument("-v", "--visualize", type=int, default=0,
    help="whether or not we are going to visualize each instance")
ap.add_argument("-c", "--confidence", type=float, default=0.5,
    help="minimum probability to filter weak detections")
ap.add_argument("-t", "--threshold", type=float, default=0.3,
    help="minimum threshold for pixel-wise mask segmentation")
args = vars(ap.parse_args())

我收到此错误:

  

用法:主要。py[-h] -i IMAGE -m MASK_RCNN [-v VISUALIZE] [-c CONFIDENCE]                      [-t阈值]   主要 .py:错误:需要以下参数:-i /-image,-m /-mask-rcnn

     

发生了异常,请使用%tb查看完整的追溯。

     

SystemExit:2

     

C:\ ProgramData \ Anaconda3 \ lib \ site-packages \ IPython \ core \ interactiveshell.py:2889:用户警告:要退出:请使用“退出”,“退出”或Ctrl-D。     警告(“退出:使用'退出','退出'或Ctrl-D。”,堆栈级别= 1)

1 个答案:

答案 0 :(得分:0)

argparse处理sys.argv列表中的字符串。通常,这来自调用包含argparse代码的脚本时提供的命令行值:

$ python main.py -i foo -m bar

但是您似乎正在使用ipython。最好看看您如何调用此脚本。但是您可能需要使用:

$ ipython -i main.py -- -i foo -m bar

“-”将ipython使用的输入与其应提供给main.py的输入分开。