Карта титула, из Интернета
Обычно мы работаем в Linux для написания кода, а иногда нам нужно написать несколько скриптов для разбора командной строки. Вообще говоря, мы все используем библиотеку argparse.Сегодня я рылся на Github и нашел очень удобную и классную библиотеку под названием fire.Если присмотреться, то это библиотека с открытым исходным кодом от Google.Когда вы слышите название , вы должны быть в огне Попробовал и нашел, что это очень хорошо!
1. Традиционный парсинг командной строки, библиотека argparse
Обычно, когда мы пишем синтаксический анализ командной строки, мы используем библиотеку argparse. Это стандартная библиотека, argparse очень мощная, но недостаток в том, что ее сложнее использовать, параметры и так далее.
1) Посмотрите на некоторые очень простые функции расчета
Например, для написания очень простого скрипта калькулятора сложения требуется 9 строк кода и необходимо заполнить кучу параметров.
Выше приведено очень простое использование argparse, но если его прочтет новичок, его будет очень сложно понять. Параметров слишком много, а в argparse есть необязательные параметры генерации и позиционирования. Обычно анализ делится на три этапа:
-
Сначала объявите объект ArgumentParser, который добавляет функциональное описание программы.
-
Затем объявить кучу правил парсинга, что также является самым сложным местом. С функцией add_argments нужно заполнить кучу параметров.
-
Наконец, используйте parse_args() для анализа входящего содержимого.
Если функция скрипта сложная, это место разбора будет сильно расширяться и будет очень длинным. Глядя на головокружение, нет простого, Xiaobai легко разобрать последнюю библиотеку командной строки, взгляните на знаменитую библиотеку огня Google.
2. Библиотека огня производства Google
Эта библиотека имеетПочти 10 000 лайков и 540 форков, или очень хорошо! Почему это так здорово, давайте посмотрим на его использование.
Это также приведенный выше пример, в котором реализовано сложение двух чисел.
Всего для получения вышеуказанных функций требуется 6 строк кода, и это очень лаконично и освежающе! Это очень легко понять. Использование простое, если мы хотим добавить связанные числа:
python3 demo_fire.py add 10 20>>30скопировать код
Fire инкапсулирует все эти раздражающие параметры позиционирования, необязательные параметры и т. д. Вам нужно думать только о своей логической части, и вам не нужно тратить много усилий на ознакомление с использованием argparse. Экономит много сил и времени. Если мы хотим расширить приведенный выше скрипт, чтобы добавить функции для вычитания, умножения и исключения! Просто добавьте функцию в класс Calculator.
>>
$ python3 demo_fire.py mul 10 2
20
$ python3 demo_fire.py sub 10 2
8
Это очень просто, это только вершина айсберга этой мощной функции,Также есть много интересных особенностей. Например, функция группировки команд, функция атрибута доступа. В будущем вы можете отказаться от библиотеки argparse и использовать огонь. На самом деле, я внимательно просмотрел некоторые исходники огня.Нижний слой этой библиотеки также вызывает библиотеку argparse, но она использует много инкапсуляции, что делает ее более удобной и лаконичной для меня!
Ссылка: https://github.com/google/python-fire/blob/master/docs/guide.md
Следующее рекомендует мой апплет, мастер кода
Первый апплет с призами за ответы на вопросы в кружке Python
Добавлено 50 новых призов, которые ждут, пока вы ответите на вопросы
Мастер кода
Весело · Интересно · Много призов
Длительное нажатие и сканирование кода