Python ArgumentParser - Ошибка - Отсутствуют аргументы? - PullRequest
0 голосов
/ 31 августа 2018

Я пытаюсь запустить этот код:

ap = argparse.ArgumentParser()

ap.add_argument("-q", "--query", required=True, help="search query to search Bing Image API for")

ap.add_argument("-o", "--output", required=True, help="path to output directory of images")

args = vars(ap.parse_args())

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

usage: ipykernel_launcher.py [-h] -q QUERY -o OUTPUT

ipykernel_launcher.py: error: the following arguments are required:
-q/--query, -o/--output

Я пытался заглянуть в документацию ArgumentParser ( здесь ), но не смог найти свой ответ. Может ли кто-нибудь мне помочь?

Ответы [ 2 ]

0 голосов
/ 31 августа 2018

Для параметра required установлено значение true:

ap.add_argument("-q", "--query", **required=True,** help="search query to search Bing Image API for")
ap.add_argument("-o", "--output", **required=True**, help="path to output directory of images")

(** добавлено для наглядности) написание

ap.add_argument("-q", "--query", **required=False,** help="search query to search Bing Image API for")
ap.add_argument("-o", "--output", **required=False**, help="path to output directory of images")

, вместо этого, должен решить проблему. Если, конечно, вы не хотите, чтобы они были необходимы, вы должны вызвать сценарий с аргументами.

0 голосов
/ 31 августа 2018

Необходимо запустить приложение, указав аргументы, указанные в сообщении об ошибке. В вашем коде оба аргумента required. Следовательно, вы должны предоставить их для запуска приложения.

Вот то, что он может ожидать

python ipykernel_launcher.py -q "<query>", -o "<dir>"

Обратите внимание, что <query> и <dir> выше являются наполнителями. Вы должны предоставить запрос, встроенный в определение приложения запроса. Флаг -o указывает на требование передать каталог. Следовательно, это может быть просто ./output или что-то между этими строками.

...