Справочник Программиста
6.36K subscribers
1.3K photos
376 videos
64 files
1.63K 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
This media is not supported in your browser
VIEW IN TELEGRAM
📝 Библиотека PySnooper в Python

Библиотека PySnooper предназначена для отладки кода, и позволяет легко отслеживать выполнение программ и выводить информацию о переменных и их значениях в процессе работы программы.

Основные возможности библиотеки:
🔵Простота использования: Требует минимальных изменений в коде для начала работы. Достаточно добавить декоратор @pysnooper.snoop() к функции или использовать контекстный менеджер with pysnooper.snoop():.
🔵Подробный вывод: Выводит детальную информацию о каждом шаге выполнения программы, включая значения переменных, входящих и выходящих из области видимости.
🔵Поддержка локальных и глобальных переменных: Отслеживает изменения как локальных, так и глобальных переменных.
🔵Поддержка различных форматов вывода: Мы можем настроить библиотеку для вывода отладочной информации в консоль, файл или другой поток вывода.
🔵Фильтрация переменных: Возможность фильтровать переменные, которые должны отслеживаться, чтобы сократить объем выводимой информации.

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

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

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

Библиотека InsightFace предназначена для распознавания лиц и их анализа на основе глубокого обучения.

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

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

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

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

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

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

Функция cpu_percent() из модуля psutil предоставляет информацию о загрузке процессора в процентах.

➡️Установка модуля: pip install psutil

import psutil
import time

# Мониторинг загруженности процессора
try:
while True:
print(f"Загруженность процессора: {psutil.cpu_percent(interval=1)}%")
time.sleep(1)
except KeyboardInterrupt:
print("Остановка мониторинга.")


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

В данной статье рассмотрим, как работает функция help() в Python.

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

Библиотека Docxtpl используется для генерации и модификации документов в формате .docx на основе шаблонов.

Она построена поверх библиотеки python-docx и предоставляет удобные инструменты для создания документов с динамическим содержимым, заменяя переменные внутри шаблонов на реальные данные.

Основные возможности библиотеки:
🔵Замена переменных в тексте: Позволяет вставлять значения переменных в текстовые поля документа.
🔵Обработка циклов и условий: Возможность создавать шаблоны с циклами и условиями для динамического добавления контента.
🔵Вставка изображений: Поддерживается вставка изображений на основе шаблонов.
🔵Создание таблиц: Позволяет генерировать таблицы с динамическим содержимым.
🔵Поддержка стилей: Позволяет применять стили к тексту и другим элементам документа.

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

Пример кода:
from docxtpl import DocxTemplate

# Загрузка шаблона
doc = DocxTemplate("pattern.docx")

# Данные для замены
context = {
'name': 'Иван Иванович',
'date': '12.06.2024',
'items': [
{'name': 'Товар 1', 'price': '100 руб.'},
{'name': 'Товар 2', 'price': '200 руб.'},
]
}

# Рендеринг документа с данными
doc.render(context)

# Сохранение документа
doc.save("document.docx")


На картинках показан .docx-шаблон и результат выполнения кода.

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍4❤‍🔥2
📺 Генерация фейковых данных человека на Python

В данном shorts напишем код для генерации фейковых данных о человеке на Python (не Faker).

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥4👍3🔥2
Справочник Программиста
📺 Генерация фейковых данных человека на Python В данном shorts напишем код для генерации фейковых данных о человеке на Python (не Faker). ➡️Справочник Программиста. Подписаться
💻 Коды для генерации фейковых данных на Python

Примеров кода довольно много, поэтому придётся разделить на несколько постов.

➡️Установка необходимой библиотеки: pip install mimesis

Генерация случайных персональных данных
from mimesis import Person
from mimesis.enums import Gender
from mimesis.locales import Locale

person = Person(Locale.RU)

print("Имя:", person.name())
print("Фамилия:", person.surname())
print("Пол:", person.gender())
print("Дата рождения:", person.birthdate())
print("Почта:", person.email())
print("Телефон:", person.telephone())

# Генерация данных с указанием пола
print("Мужское имя:", person.name(gender=Gender.MALE))


Генерация случайного адреса
from mimesis import Address

address = Address(locale="ru")

# Генерация случайных данных
print("Страна:", address.country())
print("Город:", address.city())
print("Улица:", address.street_name())
print("Дом:", address.street_number())
print("Почтовый индекс:", address.postal_code())


Генерация случайного текста
from mimesis import Text

text = Text(locale="ru")

print("Случайное слово:", text.word())
print("Случайное предложение:", text.sentence())
print("Случайный абзац:", text.text(quantity=1))


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

Библиотека Tesserocr предоставляет интерфейс для работы с библиотекой OCR (распознавание текста) Tesseract.

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

Основные возможности библиотеки:
🔵Интерфейс C++ API Tesseract: Библиотека напрямую связывается с Tesseract через его C++ API, что обеспечивает высокую производительность и более гибкие возможности по сравнению с вызовом командной строки Tesseract.
🔵Работа с изображениями: Поддерживает работу с изображениями через PIL (Python Imaging Library) или напрямую с numpy массивами, что позволяет легко подготавливать изображения для распознавания.
🔵Настройка параметров Tesseract: Позволяет настраивать различные параметры Tesseract, такие как язык распознавания, варианты предобработки изображений и другие параметры конфигурации.
🔵Поддержка регионов интереса: Присутствует возможность указать конкретные области изображения, которые нужно распознавать, что полезно, если текст находится только в определенных частях изображения.

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥3🔥3
Справочник Программиста
💻 Коды для генерации фейковых данных на Python Примеров кода довольно много, поэтому придётся разделить на несколько постов. ➡️Установка необходимой библиотеки: pip install mimesis Генерация случайных персональных данных from mimesis import Person from…
💻 Коды для генерации фейковых данных на Python часть 2

➡️Установка необходимой библиотеки: pip install mimesis

Генерация случайных платёжных данных
from mimesis import Payment

payment = Payment()

print("Номер кредитной карты:", payment.credit_card_number())
print("Дата окончания срока действия кредитной карты:", payment.credit_card_expiration_date())
print("CVV:", payment.cvv())
print("Сеть кредитной карты:", payment.credit_card_network())
print("Адрес Ethereum:", payment.ethereum_address())
print("PayPal:", payment.paypal())
print("Адрес Bitcoin:", payment.bitcoin_address())
print("Владелец кредитной карты:", payment.credit_card_owner())
print("CID:", payment.cid())


Генерация случайных временных данных
from mimesis import Datetime

datetime = Datetime()

print("Случайная дата:", datetime.date())
print("Случайное время:", datetime.time())
print("Случайный месяц:", datetime.month())
print("Случайный год:", datetime.year())
print("Случайный день недели:", datetime.day_of_week())


Генерация случайных данных по разработке
from mimesis import Development

development = Development()

print("Стадия разработки:", development.stage())
print("Характеристика надёжности ПО (ility):", development.ility())
print("Лицензия ПО:", development.software_license())
print("Версия с использованием календарной версии (calver):", development.calver())
print("Версия ПО:", development.version())
print("Язык программирования:", development.programming_language())


Генерация случайных общих данных
from mimesis import Generic

generic = Generic()

print("Случайное имя:", generic.person.name())
print("Случайный адрес:", generic.address.address())
print("Случайный текст:", generic.text.text())
print("Случайный файл:", generic.file.file_name())
print("Случайная дата:", generic.datetime.date())


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

Библиотека Dramatiq - это асинхронная система очередей задач (task queue) для разработки и управления фоновыми задачами в приложениях.

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

Основные особенности библиотеки:
🔵Асинхронность: Поддерживает асинхронное выполнение задач, что позволяет обрабатывать множество задач параллельно.
🔵Простота использования: Имеет интуитивно понятный API, что делает ее доступной для разработчиков любого уровня.
🔵Поддержка брокеров сообщений: Поддерживает несколько брокеров сообщений, включая RabbitMQ и Redis, для обмена сообщениями между компонентами системы.
🔵Расширяемость: Благодаря своей модульной архитектуре, Dramatiq легко расширяется с помощью плагинов и middleware.

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

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

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

Для мониторинга скорости сетевого трафика в коде используется модуль psutil.

Функция net_io_counters() из модуля psutil предоставляет информацию о сетевом вводе/выводе (I/O) в системе.

➡️Установка модуля: pip install psutil

import psutil
import time


# Функция для мониторинга скорости сетевого трафика
def get_net_io():
# Получаем статистику сетевого ввода-вывода
io = psutil.net_io_counters()
# Возвращаем количество отправленных и полученных байт
return io.bytes_sent, io.bytes_recv


# Получаем начальные значения отправленных и полученных байт
prev_sent, prev_recv = get_net_io()

try:
# Бесконечный цикл для постоянного мониторинга
while True:
# Задержка на 1 секунду
time.sleep(1)
# Получаем текущие значения отправленных и полученных байт
sent, recv = get_net_io()
# Вычисляем и выводим скорость передачи и приема данных в KB/s
print(f"Скорость передачи: {(sent - prev_sent) / 1024:.2f} KB/s, Скорость приема: {(recv - prev_recv) / 1024:.2f} KB/s")
# Обновляем значения отправленных и полученных байт для следующего цикла
prev_sent, prev_recv = sent, recv
except KeyboardInterrupt:
# Обрабатываем прерывание программы (Ctrl+C)
print("Остановка мониторинга.")


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

Библиотека Altair предназначена для визуализации данных на Python.

Она основана на декларативном подходе, что делает создание графиков и диаграмм интуитивно понятным и удобным.

Основные особенности библиотеки:
🔵Декларативный стиль: Использует декларативный стиль, что означает, что вы описываете, что вы хотите видеть, а не как это нарисовать.
🔵Интеграция с Pandas: Легко работает с DataFrame из Pandas, что позволяет быстро создавать графики на основе табличных данных.
🔵Поддержка интерактивных визуализаций: Позволяет создавать интерактивные графики, которые можно масштабировать, фильтровать и выделять.
🔵Основана на Vega и Vega-Lite: Строится на базе спецификаций визуализации данных Vega и Vega-Lite, что делает её гибкой и расширяемой.
🔵Минимум кода: Для создания сложных визуализаций требуется меньше кода по сравнению с другими библиотеками, такими как Matplotlib или Seaborn.

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

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

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

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

Функция getWindowsWithTitle() позволяет получить окно, а метод resizeTo() - изменить его ширину и высоту.

➡️Установка модуля: pip install PyGetWindow

import pygetwindow as gw

# Получаем окно, размеры которого нужно изменить
window = gw.getWindowsWithTitle('Название окна')[0]
# Изменяем размер окна на заданную ширину и высоту
window.resizeTo(800, 600)


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

Библиотека paramiko предназначена для работы с SSH-2.

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

Основные возможности библиотеки:
🔵Управление SSH-соединениями: Позволяет устанавливать защищенные соединения с удаленными серверами по SSH. Это включает аутентификацию с использованием пароля или ключей.
🔵Выполнение удаленных команд: Позволяет выполнять команды на удаленных серверах и получать их вывод, что полезно для автоматизации административных задач.
🔵Передача файлов: Поддерживает протокол SFTP, что позволяет загружать и скачивать файлы с удаленных серверов.
🔵Туннелирование SSH: Поддерживает создание SSH-туннелей, что может быть полезно для безопасной передачи данных через незащищенные сети.

Пример использования paramiko для подключения к удаленному серверу, выполнения команды и получения результата
import paramiko

# Создание SSH клиента
client = paramiko.SSHClient()

# Автоматическое добавление неизвестных ключей сервера
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

# Подключение к серверу
client.connect('hostname', username='user', password='passwd')

# Выполнение команды
stdin, stdout, stderr = client.exec_command('ls -l')

# Получение и вывод результата команды
print(stdout.read().decode())

# Закрытие соединения
client.close()


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

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

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

Библиотека ujson предназначена для кодирования и декодирования JSON.

Она значительно быстрее стандартной библиотеки json в Python, т.к. написана на языке C (в прикреплённом видео сравнивается их скорость).

Пример кода с использованием UltraJSON
import ujson as json

# Кодирование JSON
data = {"name": "Anna", "age": 25, "city": "Novosibirsk"}
json_str = json.dumps(data)
print(json_str) # Вывод: {"name":"Anna","age":25,"city":"Novosibirsk"}

# Декодирование JSON
json_str = '{"name":"Anna","age":25,"city":"Novosibirsk"}'
data = json.loads(json_str)
print(data) # Вывод: {'name': 'Anna', 'age': 25, 'city': 'Novosibirsk'}


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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥6👍4🔥4
Справочник Программиста
💻 Коды для генерации фейковых данных на Python часть 2 ➡️Установка необходимой библиотеки: pip install mimesis Генерация случайных платёжных данных from mimesis import Payment payment = Payment() print("Номер кредитной карты:", payment.credit_card_number())…
💻 Коды для генерации фейковых данных на Python часть 3

Вижу вам очень понравилась эта тема, поэтому держите последнюю порцию кода по ней 👀

➡️Установка необходимой библиотеки: pip install mimesis

Генерация фейковых интернет-данных
from mimesis import Internet

internet = Internet()

print(f'Тип контента: {internet.content_type()}')
print(f'HTTP-метод: {internet.http_method()}')
print(f'IPv4 адрес: {internet.ip_v4()}')
print(f'IPv4 адрес с портом: {internet.ip_v4_with_port()}')
print(f'IPv6 адрес: {internet.ip_v6()}')
print(f'MAC адрес: {internet.mac_address()}')
print(f'Slug: {internet.slug()}')
print(f'Домен верхнего уровня: {internet.top_level_domain()}')
print(f'URL: {internet.url()}')
print(f'User-Agent: {internet.user_agent()}')
print(f'Строка запроса: {internet.query_string()}')


Генерация фейковых числовых данных
from mimesis import Numeric

numeric = Numeric()

print(f'Целое число: {numeric.integer_number()}')
print(f'Список целых чисел: {numeric.integers(start=1, end=100, n=5)}')
print(f'Число с плавающей точкой: {numeric.float_number()}')
print(f'Список чисел с плавающей точкой: {numeric.floats(start=0.1, end=10.0, n=5)}')
print(f'Комплексное число: {numeric.complex_number()}')
print(f'Список комплексных чисел: {numeric.complexes(start_real=0, end_real=1, start_imag=0, end_imag=1)}')
print(f'Число с плавающей точкой в диапазоне: {numeric.float_number(start=0.1, end=10.0)}')
print(f'Десятичное число: {numeric.decimal_number(start=0.1, end=10.0)}')
print(f'Список десятичных чисел: {numeric.decimals(start=0.1, end=10.0, n=5)}')
print(f'Матрица: {numeric.matrix(m=5, n=5)}')


Генерация фейковых транспортных данных
from mimesis import Transport

transport = Transport()

print(f'Номер автомобиля: {transport.car()}')
print(f'Марка автомобиля: {transport.manufacturer()}')
print(f'Регистрационный знак: {transport.vehicle_registration_code()}')
print(f'Модель самолёта: {transport.airplane()}')


Генерация фейковых путей и директорий
from mimesis import Path

path = Path()

print(f'Каталог: {path.root()}')
print(f'Домашний каталог: {path.home()}')
print(f'Каталог пользователя: {path.user()}')
print(f'Каталог пользователей: {path.users_folder()}')
print(f'Каталог разработки: {path.dev_dir()}')
print(f'Каталог проекта: {path.project_dir()}')


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

В данной статье узнаем что такое логирование и как с ним работать в Python.

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤‍🔥2👍2🤨1
📺 Анонимизация личных данных в Python

В данном shorts напишем код для анонимизации данных на Python.

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