Извините, что задал основной вопрос, но его сложно найти в Google. В любом случае, у меня есть программа, которая выполняет математику из чисел, найденных в различных файлах .txt. одна вещь, которую я хотел бы добавить, - это аргумент -show, показывающий математику шаг за шагом (поиск ошибок в математике, поиск чисел с шагов certian и т. д.). Я его настроить в коде следующим образом:Вопрос о sys.argv (python)
import sys
sys.argv[0]
filename = sys.argv[1]
prop = sys.argv[2]
show = sys.argv[3]
if show == "-show":
show = 1
(показать = 1 делает что-то позже). моя проблема в том, когда я ничего не ставить на sys.argv [3], как если бы я поставил:
python program.py examplefile.txt exampleline
тогда программа не работает, я знаю, что это becauce он ожидает аргумент и вот почему его испортить, но есть ли способ сказать, что sys.argv [3] не всегда используется и может быть пустым?
'argparse' может быть для вас библиотека! – NightShadeQueen
это может вызвать проблемы, если вы применяете неструктурированное мышление. использование существующего анализатора аргументов может сэкономить ваш день, например 'argparse',' getopt', 'getopts'. – HuStmpHrrr
Кроме того, если вы ориентируетесь на Linux, не используйте один тире для длинных параметров, например 'show'. Либо вы делаете это однобуквенный флаг (например, '-s'), либо длинный вариант с двумя тире (' --show'), но если вы привыкли делать такие вещи, как '-show', люди будут ненавидеть ваши программы, потому что они нарушат [Принцип наименьшего сюрприза] (https://en.wikipedia.org/wiki/Principle_of_least_astonishment), не поддерживая широко поддерживаемую часть стандарта POSIX. –