Справочник Программиста
Библиотека scrubadub в Python
Библиотека
Основные возможности библиотеки:
🔵 Поиск личных данных: Поддержка различных детекторов, которые могут обнаруживать имена, адреса, номера телефонов, электронные почты и т.д.
🔵 Замена личных данных: После обнаружения личных данных
🔵 Расширяемость: Можно добавлять собственные детекторы или использовать существующие, чтобы обрабатывать специфические виды данных.
🔵 Поддержка разных языков: Может работать с текстами на разных языках.
✅ Пример кода
➡️ Установка библиотеки:
📱 Репозиторий
➡️ Справочник Программиста. Подписаться
Библиотека
scrubadub
предназначена для анонимизации текста, позволяет автоматически находить и удалять личные данные, такие как имена, адреса, номера телефонов и другие идентифицирующие сведения.Основные возможности библиотеки:
scrubadub
может заменять их на нейтральные плейсхолдеры, например, {{NAME}}, {{EMAIL}}.import scrubadub
# Пример текста с личными данными
text = "Вот моя почта - iavn@example.com и мой номер телефона - +7 (999) 999-99-99"
# Анонимизация текста
cleaned_text = scrubadub.clean(text)
print(cleaned_text)
pip install scrubadub
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
Нашёл ещё один интересный API, благодаря которому можно генерировать советы, если их так можно назвать🤔
Для обращения к API в коде используется библиотека
➡️ Установка библиотек:
➡️ Справочник Программиста. Подписаться
Нашёл ещё один интересный API, благодаря которому можно генерировать советы, если их так можно назвать
Для обращения к API в коде используется библиотека
requests
, а для перевода на русский - googletrans
.pip install
requests googletrans==3.1.0a0
import requests
from googletrans import Translator
def fetch_advice():
translator = Translator()
try:
response = requests.get("https://api.adviceslip.com/advice")
response.raise_for_status() # Проверка на успешный статус ответа
advice_data = response.json()
advice_text = advice_data["slip"]["advice"]
# Переводим текст совета на русский язык
translated_advice = translator.translate(advice_text, dest='ru')
# Выводим переведенный текст совета
print("\nСовет:", translated_advice.text)
except requests.exceptions.RequestException as e:
# Обработка исключений при выполнении запроса
print("\nОшибка: Не удалось получить совет. Пожалуйста, проверьте ваше интернет-соединение.")
print("Детали ошибки:", e)
except KeyError as e:
# Обработка исключений при доступе к данным JSON
print("\nОшибка: Неправильный формат ответа API.")
print("Детали ошибки:", e)
except Exception as e:
# Обработка других исключений
print("\nПроизошла непредвиденная ошибка.")
print("Детали ошибки:", e)
def main():
while True:
user_input = input("\nНажмите 'Enter' для получения совета или введите 'exit' для выхода: ").strip().lower()
if user_input == "exit":
print("Выход из программы. До свидания!")
break
fetch_advice()
if __name__ == "__main__":
main()
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍4❤🔥2😁1
Полезные ссылки
За последние дни на канал подписалось много новых людей, поэтому я решил в одном посте выложить ссылки на все свои проекты, чтобы не было путаницы.
📱 YouTube-канал
📱 Сайт со статьями по Python
📱 Мой основной телеграм-канал (этот) - @programmersGuide_1
📱 Мой телеграм-канал с викторинами по Python (рано или поздно возрожу)) - @python_quizzes_tasks
📱 Приобрести мои курсы можно у бота (до конца июня скидки на всё 50%) - @courses_from_it_start_bot
📱 По написанию кода на заказ и сотрудничеству - @it_start_programmer
📱 Дзен
📱 TikTok
📱 Boosty (когда-нибудь возрожу)
💰 Поддержать меня
За последние дни на канал подписалось много новых людей, поэтому я решил в одном посте выложить ссылки на все свои проекты, чтобы не было путаницы.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤🔥4
Библиотека SDV в Python
Библиотека
Она была разработана для облегчения создания данных, которые сохраняют статистические свойства оригинальных данных, но не содержат реальных, возможно, конфиденциальных сведений.
Основные особенности библиотеки:
🔵 Синтетические данные: Позволяет генерировать синтетические наборы данных, которые имеют такие же статистические свойства, как и исходные данные.
🔵 Модели данных: Поддерживает несколько моделей для создания синтетических данных, включая GAN (Generative Adversarial Networks), Bayesian Networks и другие методы.
🔵 Обработка различных типов данных: Может работать с различными типами данных, такими как числовые, категориальные, временные ряды и т.д.
🔵 Конфиденциальность данных: Поскольку синтетические данные не содержат реальных данных, они могут использоваться в ситуациях, где важно сохранить конфиденциальность информации.
🔵 Генерация данных для сложных структур: Позволяет создавать синтетические данные для сложных структур, таких как базы данных с несколькими связанными таблицами.
✅ Пример кода. Т.к. пример на скриншоте слишком большой, продублирую его без комментариев в виде кода. Не переписывать же с картинки 🤔
➡️ Установка библиотеки:
📱 Репозиторий
⚙️ Документация
➡️ Справочник Программиста. Подписаться
Библиотека
SDV
(Synthetic Data Vault) предназначена для генерации синтетических данных.Она была разработана для облегчения создания данных, которые сохраняют статистические свойства оригинальных данных, но не содержат реальных, возможно, конфиденциальных сведений.
Основные особенности библиотеки:
from sdv.datasets.demo import download_demo
from sdv.evaluation.single_table import run_diagnostic
from sdv.single_table import GaussianCopulaSynthesizer
from sdv.evaluation.single_table import evaluate_quality
from sdv.evaluation.single_table import get_column_plot
real_data, metadata = download_demo(
modality='single_table',
dataset_name='fake_hotel_guests'
)
synthesizer = GaussianCopulaSynthesizer(metadata)
synthesizer.fit(real_data)
synthetic_data = synthesizer.sample(num_rows=500)
synthetic_data.head()
diagnostic = run_diagnostic(
real_data=real_data,
synthetic_data=synthetic_data,
metadata=metadata
)
quality_report = evaluate_quality(
real_data,
synthetic_data,
metadata
)
quality_report.get_details('Column Shapes')
fig = get_column_plot(
real_data=real_data,
synthetic_data=synthetic_data,
column_name='room_rate',
metadata=metadata
)
fig.show()
pip install sdv
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤🔥4🔥3😁2
Передача файлов с использованием SFTP на Python
Для передачи файлов с использованием SFTP в коде используется библиотека paramiko.
➡️ Установка модуля:
➡️ Справочник Программиста. Подписаться
Для передачи файлов с использованием SFTP в коде используется библиотека paramiko.
pip install paramiko
import paramiko
# Создание SSH клиента
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# Подключение к серверу
client.connect('hostname', username='user', password='passwd')
# Создание SFTP сессии
sftp = client.open_sftp()
# Загрузка файла на сервер
sftp.put('local_file.txt', 'remote_file.txt')
# Скачивание файла с сервера
sftp.get('remote_file.txt', 'local_file.txt')
# Закрытие SFTP сессии и SSH соединения
sftp.close()
client.close()
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍4❤🔥2
🗄Библиотека ArchiveBox в Python
Библиотека
Она предназначена для автоматического захвата, архивирования и индексации онлайн-контента, чтобы пользователи могли создавать долговечные копии веб-страниц для будущего использования.
Основные возможности библиотеки:
🔵 Захват веб-страниц: Может захватывать и сохранять веб-страницы различными способами, включая HTML, PDF, снимки экрана, WARC (Web ARChive), и другие форматы.
🔵 Поддержка нескольких источников: Поддерживает импорт ссылок из множества источников, таких как браузерные закладки, файлы HTML, RSS-ленты, и API.
🔵 Интеграция с другими инструментами: Может работать вместе с другими инструментами архивирования, такими как
🔵 Поиск и индексация: Сохранённые веб-страницы индексируются, что позволяет выполнять поиск по содержимому архивированных сайтов.
🔵 Автоматизация: Можно настроить автоматическое обновление архива с регулярными интервалами, чтобы сохранять актуальные версии страниц.
➡️ Установка библиотеки:
📱 Репозиторий
⚙️ Документация
➡️ Справочник Программиста. Подписаться
Библиотека
ArchiveBox
позволяет архивировать и сохранять веб-страницы.Она предназначена для автоматического захвата, архивирования и индексации онлайн-контента, чтобы пользователи могли создавать долговечные копии веб-страниц для будущего использования.
Основные возможности библиотеки:
wget
, curl
, youtube-dl
и другими, чтобы захватывать контент с различных типов сайтов, включая видео и динамический контент.pip install archivebox
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍3❤🔥2
Дизассемблирование в Python
В данной статье поговорим про дизассемблирование байт-кода в Python.
➡️ Справочник Программиста. Подписаться
В данной статье поговорим про дизассемблирование байт-кода в Python.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥6👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Код для извлечения кадров из GIF на Python
Для извлечения кадров из GIF в коде используется библиотека
Атрибут
➡️ Установка библиотеки:
➡️ Справочник Программиста. Подписаться
Для извлечения кадров из GIF в коде используется библиотека
Pillow
.Атрибут
n_frames
из библиотеки Pillow
представляет собой количество кадров в анимированном изображении.pip install Pillow
from PIL import Image
# Открытие GIF
gif = Image.open('input.gif')
# Извлечение и сохранение кадров
for frame in range(0, gif.n_frames):
gif.seek(frame)
gif.save(f'frame_{frame}.png')
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥5👍4🔥2
Библиотека IconMatch в Python
Библиотека
Она помогает программам и разработчикам находить наиболее похожие изображения или иконки из заданного набора, основываясь на визуальных характеристиках.
Основные возможности библиотеки:
🔵 Позволяет анализировать изображения, извлекая ключевые характеристики, что помогает в сравнении и поиске схожих изображений.
🔵 Использует различные алгоритмы и методики, такие как гистограммы, дескрипторы или сравнение контуров, чтобы оценить степень сходства между изображениями.
🔵 Для повышения точности распознавания и классификации библиотека включает инструменты для предобработки изображений, такие как изменение размера, нормализация и фильтрация.
🔵 Оснащена удобным интерфейсом, что облегчает ее интеграцию в проекты и приложений, требующие функционала распознавания и
➡️ Установка библиотеки:
📱 Репозиторий
➡️ Справочник Программиста. Подписаться
Библиотека
IconMatch
предназначена для классификации и распознавания изображений и иконок.Она помогает программам и разработчикам находить наиболее похожие изображения или иконки из заданного набора, основываясь на визуальных характеристиках.
Основные возможности библиотеки:
pip install IconMatch
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Для обращения к API в коде используется библиотека
requests
.pip install
requests
import requests
def get_weather(city: str) -> None:
api_key = '79d1ca96933b0328e1c7e3e7a26cb347'
base_url = 'https://api.openweathermap.org/data/2.5/weather'
params = {
'q': city, # Название города
'units': 'metric', # Единицы измерения - метрические
'lang': 'ru', # Язык ответа
'appid': api_key # Ключ API
}
try:
# Выполняем GET-запрос с параметрами
response = requests.get(base_url, params=params)
# Проверяем успешность выполнения запроса
response.raise_for_status()
# Преобразуем ответ в формат JSON
weather_data = response.json()
# Получаем текущую температуру
temperature = weather_data['main']['temp']
# Получаем ощущаемую температуру
temperature_feels = weather_data['main']['feels_like']
# Получаем скорость ветра
wind_speed = weather_data['wind']['speed']
# Получаем описание облачности
cloud_cover = weather_data['weather'][0]['description']
# Получаем влажность
humidity = weather_data['main']['humidity']
# Выводим собранные данные о погоде
print(f'Температура воздуха: {temperature}°C\n'
f'Ощущается как: {temperature_feels}°C\n'
f'Ветер: {wind_speed} м/с\n'
f'Облачность: {cloud_cover}\n'
f'Влажность: {humidity}%')
# Обрабатываем исключения, связанные с запросом
except requests.RequestException as e:
print(f'Ошибка при запросе погоды: {e}')
# Обрабатываем случаи отсутствия данных в ответе
except KeyError:
print(f'Не удалось определить город: {city}')
if __name__ == "__main__":
city = input('Введите город, в котором хотите узнать погоду: ')
get_weather(city)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍7❤🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека Mako в Python
Библиотека
Часто применяется в веб-разработке для создания динамических веб-страниц.
Основные особенности библиотеки:
🔵 Синтаксис, основанный на Python: Использует синтаксис, который похож на Python, что делает его удобным для разработчиков, уже знакомых с языком.
🔵 Высокая производительность: Оптимизирован для высокой производительности, обеспечивая быструю генерацию шаблонов.
🔵 Гибкость: Позволяет легко вставлять любые данные в шаблоны и поддерживает богатый набор встроенных функций и фильтров.
🔵 Безопасность: Предоставляет механизмы для экранирования HTML, предотвращая атаки типа XSS (Cross-Site Scripting).
🔵 Расширяемость: Легко интегрируется с другими библиотеками и фреймворками, такими как
➡️ Установка библиотеки:
📱 Репозиторий
⚙️ Документация
➡️ Справочник Программиста. Подписаться
Библиотека
Mako
предназначена для создания шаблонов. Она используется для генерации HTML, XML или любых других текстовых форматов, основываясь на данных, переданных в шаблон.Часто применяется в веб-разработке для создания динамических веб-страниц.
Основные особенности библиотеки:
Flask
, Pyramid и др.pip install Mako
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍4❤🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Код для получения информации о процессоре на Python
Для получения информации о процессоре в коде используется модуль
Функция
➡️ Установка модуля:
➡️ Справочник Программиста. Подписаться
Для получения информации о процессоре в коде используется модуль
psutil
.Функция
cpu_count()
из модуля psutil
используется для получения количества логических или физических процессоров в системе, а функция cpu_percent()
используется для измерения загрузки CPU в процентах.pip install
psutil
import psutil
print(f"Число ядер: {psutil.cpu_count(logical=True)}")
print(f"Загруженность процессора: {psutil.cpu_percent(interval=1)}%")
print(f"Загрузка по ядрам: {psutil.cpu_percent(interval=1, percpu=True)}%")
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤🔥6🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека Black в Python
Библиотека
Основные особенности библиотеки:
🔵 Автоматическое форматирование: Автоматически преобразует код в соответствии с заданными стандартами форматирования, не требуя вмешательства программиста.
🔵 Однозначность стиля: Благодаря строгим правилам форматирования, код, отформатированный с помощью
🔵 Непрерывная поддержка стандартов: Следует рекомендациям PEP 8.
🔵 Конфигурационные возможности: Возможность настроить некоторые аспекты поведения
🔵 Интеграция с инструментами CI/CD: Легко интегрируется в процессы CI/CD, что позволяет автоматически проверять и форматировать код при каждом коммите или перед релизом.
➡️ Установка библиотеки:
📱 Репозиторий
⚙️ Документация
➡️ Справочник Программиста. Подписаться
Библиотека
Black
позволяет автоматически форматировать код на Python.Основные особенности библиотеки:
Black
, имеет единый стиль в пределах проекта.Black
, такие как длина строки, использование одинарных или двойных кавычек и т.д., через специальный конфигурационный файл pyproject.toml.pip install black
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤🔥4👍3😁1
This media is not supported in your browser
VIEW IN TELEGRAM
Продолжая тему интересных API, нашёл The Cat API, который позволяет получать случайные изображения кошек. Надеюсь это кому-нибудь будет полезно.
Для обращения к API в коде используется библиотека
requests
, а для работы с изображениями - io
и Pillow
.pip install
requests pillow
import requests
from PIL import Image
from io import BytesIO
API = 'https://api.thecatapi.com/v1'
def get_random_cat_image():
# Выполняем GET-запрос к API
response = requests.get(f'{API}/images/search')
if response.status_code == 200: # Проверяем, успешен ли запрос
# Преобразуем ответ в формате JSON в словарь
data = response.json()
# Извлекаем URL изображения из данных
image_url = data[0]['url']
# Возвращаем URL изображения
return image_url
else: # Если запрос не успешен
# Выбрасываем исключение с сообщением об ошибке
raise Exception(f'Ошибка при получении данных от The Cat API: {response.status_code}')
def display_image(image_url):
# Выполняем GET-запрос для получения изображения
response = requests.get(image_url)
# Проверяем, успешен ли запрос
if response.status_code == 200:
# Извлекаем содержимое ответа (данные изображения)
img_data = response.content
# Открываем изображение из байтового потока
img = Image.open(BytesIO(img_data))
# Показываем изображение
img.show()
else: # Если запрос не успешен
# Выбрасываем исключение с сообщением об ошибке
raise Exception(f'Ошибка при получении изображения с {image_url}: {response.status_code}')
def main():
# Получаем URL случайного изображения кота
image_url = get_random_cat_image()
# Печатаем URL изображения
print(f'URL изображения кота: {image_url}')
# Отображаем изображение
display_image(image_url)
if __name__ == '__main__':
main()
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥11👍3🔥3😁1
This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека isort в Python
Библиотека
Она помогает поддерживать порядок импортов в соответствии с определенным стилем или стандартом кодирования, что улучшает читаемость кода и его поддерживаемость.
Основные особенности библиотеки:
🔵 Автоматическая сортировка: Сканирует файлы Python и автоматически сортирует импорты в соответствии с заданными правилами или стилем.
🔵 Поддержка различных стилей: Поддерживает несколько стилей сортировки импортов, таких как стандартные стили PEP 8, Google, и другие.
🔵 Интеграция с редакторами и средами разработки: Интегрируется с популярными редакторами кода и средами разработки, такими как VS Code, PyCharm, Sublime Text и другими, что позволяет использовать автоматическую сортировку импортов без необходимости выполнять её вручную.
🔵 Конфигурируемость: Может быть настроена, указав различные параметры через конфигурационные файлы или аргументы командной строки.
🔵 Командная строка и API: Может быть использован как из командной строки для обработки файлов и директорий, так и как Python API для интеграции с другими инструментами и скриптами.
➡️ Установка библиотеки:
📱 Репозиторий
⚙️ Документация
➡️ Справочник Программиста. Подписаться
Библиотека
isort
предназначена для автоматической сортировки импортов в файлах Python.Она помогает поддерживать порядок импортов в соответствии с определенным стилем или стандартом кодирования, что улучшает читаемость кода и его поддерживаемость.
Основные особенности библиотеки:
pip install isort
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥6👍5🔥1
В данном shorts напишем код для записи архива в изображение на Python.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍3❤🔥2
Код для записи архива в изображение при помощи Python
Код для извлечения архива из изображения при помощи Python
📺 Подробное объяснение
➡️ Справочник Программиста. Подписаться
# Открываем файл 'image.jpg' в режиме добавления в бинарном формате (ab)
with open('image.jpg', 'ab') as f:
# Открываем файл 'important archive.zip' в режиме чтения в бинарном формате (rb)
with open('important archive.zip', 'rb') as s:
# Считываем всё содержимое файла архива
data = s.read()
# Записываем прочитанное содержимое в конец файла 'image.jpg'
f.write(data)
Код для извлечения архива из изображения при помощи Python
# Открываем файл 'image.jpg' в режиме чтения бинарных данных
with open('image.jpg', 'rb') as f:
# Считываем всё содержимое файла в переменную content
content = f.read()
# Ищем индекс начала последовательности байтов, соответствующих маркеру конца JPEG-файла (FFD9)
offset = content.index(bytes.fromhex('FFD9'))
# Устанавливаем указатель позиции чтения файла на два байта после найденного маркера FFD9
f.seek(offset + 2)
# Открываем новый файл 'newfile.zip' в режиме записи бинарных данных
with open('newfile.zip', 'wb') as s:
# Записываем в новый файл все оставшиеся байты после позиции указателя чтения
s.write(f.read())
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤🔥3😁2
This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека context-menu в Python
Библиотека
Контекстное меню – это меню, которое появляется при взаимодействии пользователя с элементом интерфейса, обычно при нажатии правой кнопкой мыши.
Основные возможности библиотеки:
🔵 Создание контекстных меню: Позволяет добавлять пункты в контекстные меню для файлов, папок и рабочих столов.
🔵 Ассоциация команд: Позволяет связать команды или скрипты Python с выбранными пунктами меню.
🔵 Настройка параметров: Позволяет задавать параметры для пунктов меню, такие как имя, команда, которая будет выполнена при выборе пункта, и другие.
➡️ Установка библиотеки:
📱 Репозиторий
⚙️ Документация
➡️ Справочник Программиста. Подписаться
Библиотека
context-menu
предназначена для создания и управления контекстными меню в приложениях.Контекстное меню – это меню, которое появляется при взаимодействии пользователя с элементом интерфейса, обычно при нажатии правой кнопкой мыши.
Основные возможности библиотеки:
pip install context_menu
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤🔥3👍3
Справочник Программиста
Поздравляю всех с наступлением лета! ⛱ В честь этого, я решил сделать скидку в размере 5️⃣ 0️⃣ 🔣 на все свои курсы аж до конца июня! Приобрести курсы можно у бота - @courses_from_it_start_bot Просто выбираете товар, перейдя по ссылке оплачиваете его, нажимаете…
До конца скидок осталось 4 дня!