PYTHON_REAL Telegram 989
Генератор изображений кода на Python: делитесь кодом со стилем

Иногда вместо того, чтобы копировать и вставлять код, хочется поделиться красивым изображением с его фрагментом. Это особенно актуально для публикаций в соцсетях или документации. В этой статье рассматривается, как создать такой инструмент с помощью Python.

Вы узнаете:

* Как использовать библиотеку Pillow для создания изображений;
* Как применять Pygments для подсветки синтаксиса;
* Как объединить эти инструменты в удобный CLI-интерфейс.

Что такое Pygments?

Pygments — это популярный инструмент для подсветки синтаксиса. Он поддерживает множество языков программирования и умеет преобразовывать код в HTML, LaTeX, RTF и другие форматы.

Пример:


from pygments import highlight
from pygments.lexers import PythonLexer
from pygments.formatters import ImageFormatter

code = 'print("Hello, world!")'
with open("code.png", "wb") as f:
f.write(highlight(code, PythonLexer(), ImageFormatter()))


Это создаст PNG-файл с изображением кода.

Настройка внешнего вида

С помощью параметров ImageFormatter можно настраивать:

* Шрифт (font_name);
* Размер шрифта (font_size);
* Цветовую схему (style);
* Включение/отключение номеров строк.

Пример настройки:


formatter = ImageFormatter(
font_name="DejaVu Sans Mono",
font_size=14,
line_numbers=True,
style="monokai"
)


Обработка входных данных

Для чтения кода из файла или stdin можно использовать модуль argparse:


import argparse
parser = argparse.ArgumentParser()
parser.add_argument("source", nargs="?", type=argparse.FileType("r"), default=sys.stdin)
args = parser.parse_args()
code = args.source.read()


Создание CLI-инструмента

Объединяя всё вместе, можно сделать простой CLI-скрипт, который принимает файл с кодом и генерирует изображение. В статье представлен полный пример кода.

Также рассматриваются вопросы производительности и расширения функциональности, например:

* Автоматическое определение языка;
* Поддержка разных форматов (JPEG, PNG);
* Сохранение и публикация изображений.

https://realpython.com/python-code-image-generator/

#python

👉 @python_real
👍4



tgoop.com/python_real/989
Create:
Last Update:

Генератор изображений кода на Python: делитесь кодом со стилем

Иногда вместо того, чтобы копировать и вставлять код, хочется поделиться красивым изображением с его фрагментом. Это особенно актуально для публикаций в соцсетях или документации. В этой статье рассматривается, как создать такой инструмент с помощью Python.

Вы узнаете:

* Как использовать библиотеку Pillow для создания изображений;
* Как применять Pygments для подсветки синтаксиса;
* Как объединить эти инструменты в удобный CLI-интерфейс.

Что такое Pygments?

Pygments — это популярный инструмент для подсветки синтаксиса. Он поддерживает множество языков программирования и умеет преобразовывать код в HTML, LaTeX, RTF и другие форматы.

Пример:


from pygments import highlight
from pygments.lexers import PythonLexer
from pygments.formatters import ImageFormatter

code = 'print("Hello, world!")'
with open("code.png", "wb") as f:
f.write(highlight(code, PythonLexer(), ImageFormatter()))


Это создаст PNG-файл с изображением кода.

Настройка внешнего вида

С помощью параметров ImageFormatter можно настраивать:

* Шрифт (font_name);
* Размер шрифта (font_size);
* Цветовую схему (style);
* Включение/отключение номеров строк.

Пример настройки:


formatter = ImageFormatter(
font_name="DejaVu Sans Mono",
font_size=14,
line_numbers=True,
style="monokai"
)


Обработка входных данных

Для чтения кода из файла или stdin можно использовать модуль argparse:


import argparse
parser = argparse.ArgumentParser()
parser.add_argument("source", nargs="?", type=argparse.FileType("r"), default=sys.stdin)
args = parser.parse_args()
code = args.source.read()


Создание CLI-инструмента

Объединяя всё вместе, можно сделать простой CLI-скрипт, который принимает файл с кодом и генерирует изображение. В статье представлен полный пример кода.

Также рассматриваются вопросы производительности и расширения функциональности, например:

* Автоматическое определение языка;
* Поддержка разных форматов (JPEG, PNG);
* Сохранение и публикация изображений.

https://realpython.com/python-code-image-generator/

#python

👉 @python_real

BY Реальный Python




Share with your friend now:
tgoop.com/python_real/989

View MORE
Open in Telegram


Telegram News

Date: |

1What is Telegram Channels? With the “Bear Market Screaming Therapy Group,” we’ve now transcended language. Content is editable within two days of publishing Telegram message that reads: "Bear Market Screaming Therapy Group. You are only allowed to send screaming voice notes. Everything else = BAN. Text pics, videos, stickers, gif = BAN. Anything other than screaming = BAN. You think you are smart = BAN. Telegram iOS app: In the “Chats” tab, click the new message icon in the right upper corner. Select “New Channel.”
from us


Telegram Реальный Python
FROM American