Ошибка: аргумент -s/- требуется источник
Я скопировал этот код из Github, но он не работает для меня.
Образец кода:
ap = argparse.ArgumentParser()
ap.add_argument("-s", "--source", required=True, help="Path to the source of shapes")
ap.add_argument("-t", "--target", required=True, help="Path to the target image")
args = vars(ap.parse_args())
и этот вывод
usage: detect_leaf.py [-h] -s SOURCE -t TARGET
detect_leaf.py: error: argument -s/--source is required
Помогите мне, пожалуйста. Спасибо
2 ответа
Сообщение об ошибке в заголовке вашего вопроса довольно очевидно.
ap.add_argument("-s", "--source", required=True, help="Path to the source of shapes")
Вы положили required=True
по этому параметру. Это означает, что это требуется. Итак, если вы попытаетесь запустить этот скрипт, и не ставить --source
(или же -s
) аргумент в командной строке, вы получите ошибку.
Если вы не хотите, чтобы это требовалось, не ставьте required=True
,
Вывод, который вы показываете в конце вопроса, с другой стороны, не может быть получен из этого кода. Здесь нет -src
или же -trg
параметр в вашем argparse
спекуляция Может быть, вы запускаете совершенно другую программу? Если это так, мы не можем отладить эту программу, увидев код этой.
Я думаю, что вы не указали аргумент -s в команде python excute. Предполагая, что код Python сохранен в файле с именем detect_leaf.py Вы должны поместить аргумент -s, как показано ниже
python detect_leaf.py -s SOURCE -t TARGET
и Есть два способа получить доступ к значению аргументов, как показано ниже
import argparse
ap = argparse.ArgumentParser(description='Process some integers.')
ap.add_argument("-s", "--source", required=True, help="Path to the source of shapes")
ap.add_argument("-t", "--target", required=True, help="Path to the target image")
#It's Dictionary
vars_args = vars(ap.parse_args())
print(vars_args['source'])
print(vars_args['target'])
#It's NameSpace object
parsed_args = ap.parse_args()
print(parsed_args.source)
print(parsed_args.target)