Как правило, сначала вы должны использовать инструменты стандартной библиотеки Python. Добавлять другие библиотеки в проект можно только в том случае, если в стандартной библиотеке нет нужной вам функциональности.

В следующих разделах представлена более подробная информация о каждом инструменте, перечисленном в табл. 7.1.

Таблица 7.1. Инструменты для командной строки.
БиблиотекаЛицензияПричины использовать
argparseЛицензия PSFНаходится в стандартной библиотеке. Предоставляет стандартный способ анализа аргументов и параметров
docoptЛицензия MITПозволяет управлять форматом вспомогательного сообщения. Анализирует командную строку в соответствии с соглашениями, определенными в стандарте POSIX (http://bit.ly/utility-conventions)
placBSD 3-clauseАвтоматически генерирует вспомогательное сообщение на основе существующей сигнатуры функции. Анализирует аргументы командной строки в фоновом режиме, передавая их непосредственно вашей функции
clickBSD 3-clauseПредоставляет декораторы для создания вспомогательного сообщения и анализатора (похож на plac). Позволяет объединять несколько субкоманд. Взаимодействует с другими надстройками Flask (click не зависит от Flask, но он изначально был написан для того, чтобы помочь пользователям вместе создавать инструменты для командной строки с помощью разных надстроек для Flask, при этом ничего не разрушая, поэтому уже используется в экосистеме Flask)
clintЛицензия Internet SoftwareИмеет такие возможности форматирования, как изменение цвета, добавление отступов и колоночное отображение текста. Позволяет выполнить проверку типов для данных, введенных интерактивно (например, с помощью регулярного выражения, а также для целого числа или пути). Дает прямой доступ к списку аргументов, предоставляя простые инструменты для фильтрации и группирования
 Consortium (ISC) 
cliffЛицензия Apache 2.0Предоставляет структурированный фреймворк для крупных проектов Python, имеющих много субкоманд. Создает интерактивную среду для использования субкоманд без дополнительного кодирования
<p>argparse</p>

Модуль argparse (заменяет устаревший optparse) применяется при анализе параметров командной строки. Интерфейс командной строки, предоставленный проектом HowDoI, использует argparse — вы можете обратиться к нему при создании собственного интерфейса командной строки.

Рассмотрим код генерации анализатора:

import argparse

#

#… пропускаем кучу кода…

#

def get_parser():

····parser = argparse.ArgumentParser(description='…truncated for brevity…')

····parser.add_argument('query', metavar='QUERY', type=str, nargs='*',

························help='the question to answer')

····parser.add_argument('-p','-pos',

························help='select answer in specified position (default: 1)',

························default=1, type=int)

····parser.add_argument('-a','-all', help='display the full text

Перейти на страницу:

Все книги серии Бестселлеры O'Reilly

Похожие книги