В этой статье мы рассмотрим библиотеку не большую Python библиотеку Pygments для подсветки кода в ваших приложениях, думаю будет очень интересно.
Также посмотрите статью «Погода на языке Python», тоже полезная и интересная статья если вы интересуетесь различными Python библиотеками.
Установка Python библиотеки Pygments:
Установка библиотеки как обычно происходит через ракетный менеджер PIP, для этого вот какую команду надо прописать в терминале:
1 | pip install Pygments |
Теперь можете с ней работать.
Основы Python библиотеки Pygments:
Работать с ней очень легко, вам достаточно подключить библиотеку в ваш файл и используем несколько компонентов, давайте сначала поговорим что это за компонентов.
Всего их четыре и вот какие вы будите использовать:
- Lexer разбивает строку на токены или фрагменты источника, которые имеют тип токена, который определяет, что текст представляет семантически (например, ключевое слово, строка или комментарий). Существует лексер для каждого языка или формата разметки, который поддерживается в Pygments.
- Токены могут быть пропущен через фильтры, которые обычно изменяют типы токенов или текстовые фрагменты, например все ключевые слова в верхнем регистре.
- Модуль форматирования берёт поток токенов и записывает его в выходной файл в таком формате, как HTML, LaTeX или RTF.
- При выводе определяются стиль, как выделить все различные типы токенов. Он сопоставляет их с такими атрибутами, как «красный и жирный».
Это основные четыре компонента которые вы будите использовать для работы.
Теперь давайте для наглядности я вам покажу один не большой пример, первый будtт крайне простым, вот он:
1 2 3 4 5 6 | from pygments import highlight from pygments.lexers import PythonLexer from pygments.formatters import HtmlFormatter code = 'print "Hello World"' print(highlight(code, PythonLexer(), HtmlFormatter())) |
Как видите в начале мы подключаем саму библиотеку Pygments, после уже дополнительно подключаем модули лексер и форматирования, ну и последние создаём строку в которой пишем не большой код и выводим форматированный код.
Для этого всего используем функцию highlight(), первым параметром применяем строку с кодом, вторым это функция лексер, в нашем случае для Python, и третьим используем функцию для форматирования, в нашем случае для HTML.
Давайте посмотрим что у нас вывелось в терминале:
1 2 3 | <div class="highlight"> <pre><span class="k">print</span> <span class="s">"Hello World"</span></pre> </div> |
То есть у нас вывелось HTML разметка, которую вы можете использовать например в шаблонах Djnago, если вы его используете, ну или просто в HTML шаблонах, тут как уж вам надо.
Конечно де это не всё, и вы можете таким образом делать подсветку кода абсолютно для любых языков, эта библиотека поддерживает крайне большое количество языков программирования, и вы найдёте всё что вам нужно.
Вывод:
Библиотека Pygments для языка программирования Python очень полезная, если вы делаете сайт по программированию или просто какую-то программу где нужно выводить код, то вам она точно пригодиться, также вы сможете в документации подробней узнать подробнее о том, как с ней работать и подсветку для какие языков она поддерживает.