Справочник Программиста
6.28K subscribers
1.36K photos
387 videos
64 files
1.71K links
По рекламе - @it_start_programmer
Мои курсы - @courses_from_it_start_bot
Сайт - https://it-start.online/
YouTube - https://www.youtube.com/@it_start
Реклама на бирже - https://telega.in/c/programmersGuide_1

Предложить идею: @it_start_suggestion_bot
Download Telegram
Media is too big
VIEW IN TELEGRAM
👩‍💻 Библиотека Open-Interpreter в Python

Библиотека Open-Interpreter позволяет запускать команды на естественном языке для выполнения кода и управления компьютером через терминал или программный интерфейс.

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

Основные возможности библиотеки:
🔵Выполнение сгенерированного кода: Позволяет напрямую исполнять код, который генерируется самой моделью или передаётся пользователем.
🔵Интерактивные сессии: Поддерживает интерактивные сессии, где можно писать и тестировать код в режиме реального времени.
🔵Многоязыковая поддержка: Хотя основной упор сделан на Python, Open-Interpreter поддерживает выполнение кода на других языках программирования (в зависимости от конфигурации).
🔵Обработка ошибок: Умеет анализировать ошибки, возникающие при выполнении кода, и может давать рекомендации или предлагать исправления.
🔵Работа с файлами и данными: Возможность создавать и редактировать изображения, видео, PDF-документы и управлять большими наборами данных.
🔵Контроль браузера: Можно управлять Chrome для автоматизации задач и поиска информации в интернете.
🔵Поддержка локальных и облачных моделей: Может использовать как локальные языковые модели через LM Studio, так и облачные модели (например, GPT-4).

➡️Установка библиотеки: pip install open-interpreter

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤‍🔥2🔥2
Наконец-то YouTube даст возможность выкладывать shorts'ы длиннее 1 минуты! 🥳
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉11❤‍🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека Stegano в Python

Библиотека Stegano предназначена для реализации стеганографии - техники скрытия данных внутри других данных, например, текста, изображений, звука и т.д.

Основные возможности библиотеки:
🔵Скрытие текста в изображениях: Можно спрятать текстовое сообщение в изображении без заметных изменений для человеческого глаза.
🔵Извлечение сообщений: Возможность извлечь спрятанный текст из изображения.
🔵Поддержка нескольких методов стеганографии:
🟢LSB (Least Significant Bit) - классический метод, который использует младшие биты каждого пикселя для хранения информации.
🟢LSBSet - улучшенный вариант LSB, который работает с несколькими младшими битами пикселей в наборе (сетах) и распределяет данные по изображению более равномерно.
🟢SteganoMagic - более сложные алгоритмы, включающие в себя работу с криптографией.
🟢Redundant LSB (с избыточностью) - дублирует спрятанные данные в несколько мест изображения, что позволяет увеличить устойчивость к повреждениям данных или изменениям изображения. Он также использует младшие биты пикселей.
🟢Invisible Ink (невидимые чернила) - реализует концепцию скрытия данных так, чтобы они были "невидимыми" для человеческого восприятия. Использует особые параметры изображения для кодирования данных.
🟢Text-based стеганография - Можно также внедрять данные в текстовые файлы. Например, в тексте можно скрыть данные, изменяя пробелы, количество строк и другие элементы форматирования.

Пример кода для скрытия сообщения в изображении:
from stegano import lsb

# Скрытие текста в изображении
secret_image = lsb.hide("image.jpg", "Secret message")
secret_image.save("image_with_secret.png")


Пример кода для извлечения сообщения из изображения:
from stegano import lsb

# Извлечение скрытого сообщения
secret_message = lsb.reveal("image_with_secret.png")
print(secret_message)


➡️Установка библиотеки: pip install stegano

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤‍🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
Код для конвертации PDF в CSV на Python

Для открытия PDF-документа в коде используется библиотека tabula, а для его конвертации в CSV - pandas.

➡️Установка библиотеки: pip install pandas tabula

import tabula
import pandas as pd

filename = 'document.pdf'
# Чтение таблиц из PDF
tables = tabula.read_pdf(filename, encoding='utf-8', pages='1', multiple_tables=True)

# Объединение всех DataFrame в один
df = pd.concat(tables, ignore_index=True)

# Сохранение объединённого DataFrame в CSV-файл
df.to_csv('output.csv', index=False, encoding='utf-8-sig')


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥5👍5🔥1
✂️ Обрезка изображений на Python OpenCv

В данной статье напишем код для обрезки изображений на Python с использованием библиотеки OpenCv.

Работать программа будет следующим образом:
🔤 Выделение области: Пользователь выделяет область изображения, которую хочет обрезать.
🔤Сохранение обрезанного изображения: После выделения определённой области можно нажать на клавишу «C», и будет сохранено обрезанное изображение.
🔤Выход из программы: Для выхода из программы можно будет нажать на клавишу «Esc».

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤‍🔥3👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека Nuitka в Python

Nuitka - это компилятор Python, который преобразует Python-код в C и затем компилирует его в нативные исполняемые файлы. Это позволяет улучшить производительность Python-программ, так как скомпилированный код может выполняться быстрее, чем интерпретируемый.

Основные характеристики библиотеки:
🔵Производительность: Может значительно улучшить производительность приложений, особенно тех, которые требуют интенсивных вычислений.
🔵Совместимость: Совместим с большинством версий Python (2.6 и выше, включая Python 3.x) и поддерживает множество стандартных библиотек, включая NumPy и другие популярные пакеты.
🔵Компиляция в исполняемые файлы: Позволяет создавать независимые исполняемые файлы, которые не требуют установки Python на целевой машине.
🔵Поддержка многопоточности и асинхронного программирования: Хорошо работает с многопоточными и асинхронными программами, что позволяет эффективно использовать современные многоядерные процессоры.
🔵Лицензия: Распространяется под лицензией MIT, что делает его бесплатным и открытым для использования и модификации.

Пример компиляции скрипта:
python -m nuitka your_script.py


➡️Установка библиотеки: pip install Nuitka

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍6❤‍🔥4
Библиотека MicroRabbit в Python

MicroRabbit - это легковесная библиотека для работы с микросервисами, которая реализует паттерн CQRS (Command Query Responsibility Segregation) и используется для упрощения взаимодействия между различными компонентами системы.

Основные характеристики библиотеки:
🔵CQRS: Разделяет команды и запросы, что позволяет более эффективно управлять состоянием и изменениями в приложении.
🔵Интеграция с RabbitMQ: Использует RabbitMQ как брокер сообщений для асинхронной обработки команд и запросов.
🔵Поддержка событий: Возможность отправки и обработки событий между микросервисами, что способствует созданию более реактивной архитектуры.
🔵Модульность: Позволяет разрабатывать модули, которые могут быть независимо развернуты и масштабированы.
🔵Упрощение кода: С помощью MicroRabbit можно сократить количество кода, необходимого для реализации сложной логики взаимодействия между сервисами.

➡️Установка библиотеки: pip install microrabbit

📱 Репозиторий

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤‍🔥2👍2
Media is too big
VIEW IN TELEGRAM
Код для добавления текстового водяного знака на Python

Для работы с изображением и добавления текстового водяного знака в коде используется библиотека Pillow.

➡️Установка библиотеки: pip install pillow

from PIL import Image, ImageDraw, ImageFont


def add_text_watermark(input_image_path, output_image_path, text, position, font_path=None, font_size=36,
font_color=(255, 255, 255), opacity=128):
# Открываем изображение
image = Image.open(input_image_path).convert("RGBA")

# Создаём новое изображение с теми же размерами, но для прозрачного слоя
txt_layer = Image.new("RGBA", image.size, (255, 255, 255, 0))

# Создаем объект для рисования
draw = ImageDraw.Draw(txt_layer)

# Загружаем шрифт (используем шрифт по умолчанию, если не указан)
if font_path:
font = ImageFont.truetype(font_path, font_size)
else:
font = ImageFont.load_default()

# Получаем ограничивающий прямоугольник текста
text_bbox = draw.textbbox((0, 0), text, font=font)
text_width = text_bbox[2] - text_bbox[0]
text_height = text_bbox[3] - text_bbox[1]

# Позиционирование водяного знака
if position == 'center':
position = ((image.width - text_width) // 2, (image.height - text_height) // 2)
elif position == 'bottom_right':
position = (image.width - text_width - 15, image.height - text_height - 15)

# Добавляем текст с прозрачностью
draw.text(position, text, font=font, fill=(*font_color, opacity))

# Объединяем текстовый слой с оригинальным изображением
watermarked_image = Image.alpha_composite(image, txt_layer)

# Конвертируем обратно в RGB (если нужно для сохранения в JPEG)
watermarked_image = watermarked_image.convert("RGB")

# Сохраняем результат
watermarked_image.save(output_image_path)


# Пример использования
add_text_watermark(
input_image_path="image.jpg",
output_image_path="watermarked_image.jpg",
text="© Your Watermark",
position="bottom_right",
font_path="arial.ttf", # Указываем путь к шрифту (если не указано, используется шрифт по умолчанию)
font_size=50, # Размер текста
font_color=(255, 255, 255), # Цвет текста (белый)
opacity=128 # 50% прозрачности
)


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍4❤‍🔥3
Библиотека num2words в Python

Библиотека num2words используется для преобразования чисел в текст, т.е. она позволяет конвертировать числовые значения в их словесное представление.

Основные возможности библиотеки:
🔵Преобразование целых чисел: Конвертирует целые числа в их словесное представление.
🔵Поддержка различных языков: Поддерживает множество языков, что позволяет переводить числа на разные языки.
🔵Поддержка разных форматов чисел: Помимо простых целых чисел, можно работать с дробными числами, валютами и другими специальными форматами.

Пример преобразования чисел на английский язык
from num2words import num2words

print(num2words(123))
# Вывод: 'one hundred and twenty-three'


Пример преобразования чисел на русский язык
from num2words import num2words

print(num2words(123, lang='ru'))
# Вывод: 'сто двадцать три'


➡️Установка библиотеки: pip install num2words

📱 Репозиторий

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥6❤‍🔥3
Спасибо анониму за донат (поздно заметил), последний раз до него он был аж 414 дней назад 😅
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤‍🔥7
Библиотека Reflex в Python

Библиотека Reflex (ранее известная как Pynecone) предназначена для создания полноценных веб-приложений, где весь код (и фронтенд, и бэкенд) пишется на Python, без необходимости изучать JavaScript.

Основные особенности библиотеки:
🔵Чистый Python: Весь код приложения пишется на Python, что упрощает процесс разработки для тех, кто уже знаком с языком.
🔵Мгновенное развёртывание: После создания приложения его можно развернуть одной командой или хостить на собственном сервере.
🔵Гибкость: Встроено более 60 компонентов для создания пользовательских интерфейсов, с возможностью создания собственных компонентов.

➡️Установка библиотеки: pip install reflex

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥4❤‍🔥3
📺 Создание скриншота области экрана по координатам на Python

В данном shorts напишем код для создания скриншота области экрана по координатам на Python.

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥7👍2🔥2
Справочник Программиста
📺 Создание скриншота области экрана по координатам на Python В данном shorts напишем код для создания скриншота области экрана по координатам на Python. ➡️Справочник Программиста. Подписаться
3 кода для создания скриншота области экрана по координатам на Python

Первый способ:

➡️Установка библиотеки: pip install Pillow

from PIL import ImageGrab

# Задаём координаты (x1, y1) и (x2, y2) для области
x1 = 100 # Левый верхний угол по оси X
y1 = 100 # Левый верхний угол по оси Y
x2 = 400 # Правый нижний угол по оси X
y2 = 300 # Правый нижний угол по оси Y

# Делаем скриншот заданной области
screenshot = ImageGrab.grab(bbox=(x1, y1, x2, y2))

# Сохраняем скриншот
screenshot.save('screenshot.png')


Второй способ:

➡️Установка библиотеки: pip install pyscreenshot

import pyscreenshot as ImageGrab

# Задаём координаты области
x1, y1, x2, y2 = 100, 100, 400, 300

# Делаем скриншот
screenshot = ImageGrab.grab(bbox=(x1, y1, x2, y2))

# Сохраняем скриншот
screenshot.save('screenshot.png')


Третий способ:

➡️Установка библиотеки: pip install pyautogui

import pyautogui

# Задаём координаты (x, y) и размеры (width, height) области
x = 100
y = 100
width = 300
height = 200

# Делаем скриншот определённой области
screenshot = pyautogui.screenshot(region=(x, y, width, height))

# Сохраняем скриншот
screenshot.save('screenshot.png')


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥7🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Утилита Clark в Python

Утилита Clark предназначена для работы с аудио и видео в командной строке.

Предоставляет текстовый пользовательский интерфейс (TUI) для воспроизведения медиафайлов и создания временных меток с высокой точностью, что удобно при обрезке или разделении медиафайлов.

Основные возможности утилиты:
🔵Создание временных меток и воспроизведение: Позволяет воспроизводить аудио и видео и создавать временные метки в нужных местах. Можно быстро перемещаться по файлу, ставить метки и при необходимости удалять их.
🔵Обрезка и разделение файлов: Её можно использовать для обрезки ненужных частей или разделения медиафайлов по временным меткам.
🔵Управление через горячие клавиши: Предоставляет набор удобных сочетаний клавиш для управления воспроизведением.
🔵Использование MPV и FFMPEG: Для воспроизведения файлов Clark использует медиаплеер MPV, а для обрезки и разделения - FFMPEG.

➡️Установка: pip install https://github.com/wong-justin/clark/archive/main.zip

📱 Репозиторий

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤‍🔥2👍1
Библиотека emoji в Python

Библиотека emoji предназначена для работы с эмодзи, упрощая процесс их добавления и использования в тексте.

Поддерживает добавление эмодзи как по их коротким кодам (например, :smile:), так и непосредственно через их Unicode-символы.

Пример добавления эмодзи:
import emoji
print(emoji.emojize("Python is fun :snake:"))
# Вывод: Python is fun 🐍


➡️Установка библиотеки: pip install emoji

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥8🔥5👍3
This media is not supported in your browser
VIEW IN TELEGRAM
🗂 Код для архивации данных на Python

Для архивации в коде используются стандартные модули os и zipfile

import zipfile
import os


def archive_folder(zip_name, folder_path):
# Создаём новый ZIP-архив с именем zip_name
# Параметр 'w' означает, что мы создаём архив с нуля, ZIP_DEFLATED для сжатия
with zipfile.ZipFile(zip_name, 'w', zipfile.ZIP_DEFLATED) as zipf:
# Используем os.walk для рекурсивного обхода всех файлов и папок внутри folder_path
for root, dirs, files in os.walk(folder_path):
# Проходимся по всем файлам в текущей директории
for file in files:
# Получаем полный путь к файлу
file_path = os.path.join(root, file)
# Добавляем файл в архив, сохраняя относительный путь от корневой папки
zipf.write(file_path, os.path.relpath(file_path, folder_path))
# Выводим сообщение о том, что файл был добавлен
print(f'Файл {file_path} добавлен в архив.')


# Пример использования
folder_to_archive = 'my_folder' # Указываем папку, которую хотим архивировать
archive_name = 'my_folder_archive.zip' # Указываем имя для создаваемого архива

# Вызываем функцию архивации папки
archive_folder(archive_name, folder_to_archive)


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥5🔥4👍2
This media is not supported in your browser
VIEW IN TELEGRAM
👀 Библиотека PandasGUI в Python

Библиотека PandasGUI предоставляет графический интерфейс для работы с данными в формате DataFrame из библиотеки pandas.

Упрощает процесс анализа и визуализации данных, позволяя пользователям взаимодействовать с данными без необходимости писать код для каждой операции.

Основные возможности библиотеки:
🔵Графический интерфейс для DataFrame: Возможность загружать данные из разных источников (CSV, Excel, SQL и т.д.) и просматривать их в формате таблицы. Также доступны такие функции, как сортировка, фильтрация и групповое редактирование данных через удобные меню.
🔵Визуализация данных: Включает инструменты для создания графиков и диаграмм без написания кода.
🔵Работа с большими объемами данных: Поддерживает работу с большими наборами данных, используя механизмы отложенной загрузки и обработки данных по частям.
🔵Возможность работы с несколькими DataFrame: Возможность загружать и управлять несколькими наборами данных одновременно.
🔵Легкость использования: Ориентирована как на новичков, так и на опытных пользователей. Она делает работу с данными в pandas более интерактивной и интуитивно понятной.

Пример использования библиотеки:
import pandas as pd
from pandasgui import show

# Создаем DataFrame
data = pd.DataFrame({
'Имя': ['Анна', 'Борис', 'Виктор', 'Галина'],
'Возраст': [23, 30, 35, 29],
'Город': ['Москва', 'Санкт-Петербург', 'Новосибирск', 'Казань']
})

# Запускаем PandasGUI
show(data)


➡️Установка библиотеки: pip install pandasgui

📱 Репозиторий

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤‍🔥2🔥2
Библиотека Jedi в Python

Библиотека Jedi предназначена для поддержки интеллектуального анализа кода, автодополнения и навигации в Python-коде.

Используется в различных редакторах кода, таких как Vim, Emacs, Sublime Text, а также в некоторых IDE для предоставления таких функций, как:
🔵Автодополнение кода на основе контекста.
🔵Навигация по исходному коду, включая переход к определению функции или переменной.
🔵Интеллектуальный анализ кода с учётом типов.
🔵Проверка кода на предмет возможных ошибок.

➡️Установка библиотеки: pip install jedi

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤‍🔥3👍3