#python-3.x
#python-3.x
Вопрос:
Почему я продолжаю получать ошибку индекса всякий раз, когда я указываю менее 3 в аргументе командной строки
Комментарии:
1. Когда вы предоставляете менее 3 аргументов в своей командной строке, вы все еще пытаетесь получить доступ к
sys.argv[1]
иsys.argv[2]
, даже если их там нет.2. 1) Вы можете добавить свой исходный код непосредственно к вопросу вместо изображения. 2) С
python3 fruits.py apple
вы передаете только 1 аргумент, но пытаетесь получить 2-й и 3-й. Если вы используетеpython3 fruits.py apple arg2 arg3
, это не вызовет ошибку.3. Оу, хорошо, я понял, как мне это исправить, ты??
Ответ №1:
Потому что вы проверяете после присвоения значений.
Попробуйте реализовать оператор If else.
если (имеет 3 аргумента):
assign values
ещё:
print('Missing/Many Arguments')
Ответ №2:
Кстати, гораздо лучше поместить фактический код вместо изображения.
Вы пытаетесь получить индекс 2 (3-й элемент в списке) списка, в котором есть только 2 элемента, когда вы это делаете second_arg = sys.argv[2]
. Поскольку список не такой длинный, именно поэтому он выдает ошибку.
Возможно, вы захотите выполнить свои назначения после вашего оператора if. Таким образом, вы будете знать, что можете индексировать так далеко.