Я не знаю, является ли это просто ошибкой новичка, но Python не распознает все мои аргументы. Я использую bash, так что, возможно, это проблема. У меня есть рабочий аргумент, называемый -vs, и я пытаюсь заставить его определить необходимое целое число после него, поэтому соответствующий синтаксис равен program.py -vs 5
или целому числу. Однако он не распознает «5». Это происходит, когда я помещаю тире (-) рядом с ним и начинаю с буквы. Как я могу получить Python, чтобы это увидеть?Python не распознает все аргументы командной строки
Вот фрагмент кода:
elif arg == "-vs" or "--vertical-spacing":
if int(sys.argv[argnum + 1]) >= 0:
vspacing = int(sys.argv[argnum + 1])
else:
print "Invalid Spacing: Less than zero (Ya can't have negative spacing, silly!)"
sys.exit()
К слову, argnum переменная увеличивается на единицу каждый раз, как я проходным эти аргументы. (Я использую for arg in sys.argv[1:]
. Не волнуйтесь, я начинаю argnum как 0 и увеличиваю его, это первое, что я делаю при циклировании, поэтому он не видит путь программы и/или имя, или sys.argv[0]
.
Можете ли вы опубликовать часть кода питона, которое анализирует аргументы командной строки –
Конечно, позвольте мне изменить мой пост – jadenPete
Готово, обновите страницу, я добавил свой код и лучшее объяснение. – jadenPete