Разбор аргумента командной строки в python - PullRequest
0 голосов
/ 25 сентября 2019

необходимо выполнить анализ командной строки, и я получаю эту ошибку.Я очень плохо знаком с 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())

Я получаю эту ошибку:

использование: main .py [-h] -i ИЗОБРАЖЕНИЕ -m MASK_RCNN [-v VISUALIZE] [-c УВЕРЕННОСТЬ] [-t ПОРОГ] main .py: ошибка: требуются следующие аргументы: -i / --image, -m / - mask-rcnn

Произошла исключительная ситуация, используйте %tb, чтобы увидеть полный возврат.

SystemExit: 2

C: \ProgramData \ Anaconda3 \ lib \ site-packages \ IPython \ core \ interactiveshell.py: 2889: UserWarning: Для выхода: используйте «exit», «quit» или Ctrl-D.warn («Для выхода: используйте« выход »,« выход »или Ctrl-D.», уровень стека = 1)

1 Ответ

0 голосов
/ 25 сентября 2019

argparse обрабатывает строки в списке sys.argv.Обычно это происходит из значений командной строки, предоставляемых при вызове скрипта, содержащего код argparse:

$ python main.py -i foo -m bar

Но похоже, что вы используете ipython.Было бы хорошо увидеть, как вы называете этот скрипт.Но вам может потребоваться использовать:

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

Символ '-' отделяет вход, который ipython использует, от входа, который он должен сделать доступным для main.py.

...