Написание справки для python script
Я пытаюсь сделать мой python script очень удобным для пользователя, поэтому мне нравится писать для него какую-то помощь. Что вы посоветуете для этого? Я мог бы просто добавить некоторую логику, что если пользователь передал помощь в качестве параметра для script, они получат помощь. Есть ли передовая практика или соглашение для этого?
Ответы
Ответ 1
Используйте argparse.
Например, с test.py:
import argparse
parser=argparse.ArgumentParser(
description='''My Description. And what a lovely description it is. ''',
epilog="""All well that ends well.""")
parser.add_argument('--foo', type=int, default=42, help='FOO!')
parser.add_argument('bar', nargs='*', default=[1, 2, 3], help='BAR!')
args=parser.parse_args()
Запуск
% test.py -h
дает
usage: test.py [-h] [--foo FOO] [bar [bar ...]]
My Description. And what a lovely description it is.
positional arguments:
bar BAR!
optional arguments:
-h, --help show this help message and exit
--foo FOO FOO!
All well that ends well.
Ответ 2
Лучше всего использовать argparse
для обработки всех аргументов командной строки. Он включает по умолчанию --help
, который вы можете настроить по своему усмотрению.
Вот простейший пример:
import argparse
parser = argparse.ArgumentParser(description='This is my help')
args = parser.parse_args()
Результат:
% python argparse_test.py -h
usage: argparse_test.py [-h]
This is my help
optional arguments:
-h, --help show this help message and exit
Вы можете определить все свои аргументы с помощью argparse и задать справочное сообщение для каждого из них. Полученные отфильтрованные/проверенные аргументы возвращаются parser.parse_args()
.