Sphinx и argparse - скрипты командной строки autodocumenting?
Я создаю пакет Python и использую Sphinx для создания документов. Помимо моего кода пакета, я также включаю много сценариев Python в командной строке, которые используют argparse. Мне было интересно, есть ли способ заставить Сфинкс автоматически записывать эти сценарии? Конечной целью будет довольно печатный список сценариев, с соответствующей печатью справки, аргументами и опциями. И чтобы быть ясным, я ищу уже существующий способ сделать это, а не способ реализовать это сам.
Это не так специфично для вопроса, как я обычно спрашиваю у S.O., если есть более подходящий S.E. сайт, чтобы опубликовать этот вопрос, пожалуйста, дайте мне знать. Благодарю.
Ответы
Ответ 1
Вы можете использовать sphinxcontrib.programoutput
, чтобы включить справочные сообщения из командной строки в вашу документацию.
Это не относится к argparse
, но может использоваться для документирования любых справочных сообщений script в командной строке.
Ответ 2
Используйте расширение sphinx-argparse:
http://sphinx-argparse.readthedocs.org/en/latest/
Ответ 3
Вы можете использовать sphinxcontrib.autoprogram
. pip install sphinxcontrib-autoprogram
, затем поместите
extensions += ['sphinxcontrib.autoprogram']
в conf.py
. Для документирования команды cli.py
путем импорта cli
с помощью объекта argparse parser
parser
(который может быть выражением Python, как функция get_parser()
), используйте
.. autoprogram:: cli:parser
:prog: cli.py