tg-me.com/BookPython/3660
Last Update:
Каждая хорошо спроектированная консольная утилита должна принимать аргументы в виде опций (например, -h
или --help
), опций с параметрами (--log-level 2
) или позиционных параметров (cp file1 file2
).
Опции отличаются от позиционных параметров тем, что начинаются с одного или двух дефисов. Проблемы возникают, когда позиционные аргументы тоже начинаются с дефиса — например, если нужно удалить файл с именем -rf
: команда rm -rf
в таком случае не работает как ожидается.
Общепринятый способ решения этой проблемы — поддержка разделителя --
. Аргументы, идущие после --
, никогда не интерпретируются как опции:
$ echo test > -rf
$ cat -rf
cat: invalid option -- 'r'
Try 'cat --help' for more information.
$ cat -- -rf
test
$ rm -- -rf
$ cat -- -rf
cat: -rf: No such file or directory
Модуль
argparse
автоматически обрабатывает --
за тебя.👉@BookPython
BY Библиотека Python разработчика | Книги по питону
Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283
Share with your friend now:
tg-me.com/BookPython/3660