Справочник Программиста
6.35K subscribers
1.31K photos
380 videos
64 files
1.65K 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
Справочник Программиста
Код для удаления метаданных изображения на Python Для удаления метаданных изображения в коде используется библиотека Pillow. ➡️Установка библиотеки: pip install Pillow from PIL import Image # Функция для удаления метаданных из указанного изображения.…
This media is not supported in your browser
VIEW IN TELEGRAM
🖼Код для извлечения метаданных изображения на Python

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

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

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

from PIL import Image
from PIL.ExifTags import TAGS

# Указываем путь к изображению
image_name = "image.jpg"

# Считываем изображение
image = Image.open(image_name)

# Извлекаем основные метаданные
info_dict = {
"Имя файла": image_name,
"Размер изображения": image.size,
"Высота изображения": image.height,
"Ширина изображения": image.width,
"Формат изображения": image.format,
"Режим изображения": image.mode,
"Анимированное изображение": getattr(image, "is_animated", False),
"Количество кадров": getattr(image, "n_frames", 1)
}

for label, value in info_dict.items():
print(f"{label:25}: {value}")

# Извлекаем данные EXIF
exif_data = image.getexif()

# Перебираем все поля данных EXIF
for tag_id in exif_data:
# Получаем имена тегов вместо идентификатора
tag = TAGS.get(tag_id, tag_id)
data = exif_data.get(tag_id)
# Декодируем данные в строку
if isinstance(data, bytes):
data = data.decode()
print(f"{tag:25}: {data}")


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

Библиотека Rich предоставляет возможности для создания красивого и интерактивного текстового вывода в консоли для приложений на Python.

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

Некоторые основные возможности библиотеки:
🔵Форматирование текста с использованием разных цветов и стилей.
🔵Создание таблиц с различными стилями и настройками.
🔵Вывод изображений и графиков в терминале.
🔵Поддержка markdown для форматирования текста.
🔵Возможность создания прогресс-баров и индикаторов выполнения.
🔵Поддержка синтаксического выделения кода.

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

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

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

Starlette - это высокопроизводительный веб-фреймворк для создания асинхронных веб-приложений.

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

Возможности фреймворка:
🔵Поддержка WebSocket.
🔵Поддержка асинхронности.
🔵Поддержка HTTP/2.
🔵Маршрутизация и промежуточное ПО.
🔵Рендеринг шаблонов.
🔵Тестовый клиент, построенный на httpx.
🔵Поддержка CORS, GZip, статических файлов, потоковых ответов.
🔵Поддержка сессий и cookie.
🔵Совместимость с асинхронными библиотеками asyncio и trio.
🔵Поддержка тестирования.
🔵Отличная производительность по результатам независимых тестов.

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍4❤‍🔥2🤔1
📍Код для получения информации о геолокации по IP-адресу на Python

Для получения информации о геолокации по IP-адресу в коде используется библиотека requests.

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

import requests


def get_geo_info(ip_address):
# Формируем URL для запроса к API
url = f"http://ip-api.com/json/{ip_address}"
# Отправляем GET-запрос к API
response = requests.get(url)
# Сохраняем ответ в формате JSON
data = response.json()
return data


# Вызываем функцию get_geo_info() и указываем IP-адрес
geo_info = get_geo_info("8.8.8.8")

# Выводим информацию о геолокации
for key, value in geo_info.items():
print(key, ":", value)

# Вывод:
# status : success
# country : United States
# countryCode : US
# region : VA
# regionName : Virginia
# city : Ashburn
# zip : 20149
# lat : 39.03
# lon : -77.5
# timezone : America/New_York
# isp : Google LLC
# org : Google Public DNS
# as : AS15169 Google LLC
# query : 8.8.8.8


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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥6👍3🔥2🤨1
Модуль objgraph в Python

Модуль objgraph помогает исследовать использование памяти в программе.

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

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

Также для рисования красивых графиков необходимо установить Graphviz.

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

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

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

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

Библиотека NAPALM (Network Automation and Programmability Abstraction Layer with Multivendor support) предназначена для автоматизации и взаимодействия с сетевыми устройствами и операционными системами с помощью единого API.

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

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

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

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

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

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

from PIL import Image, ImageEnhance

# Открываем изображение
image = Image.open("image.jpg")

# Создаем объект класса ImageEnhance.Contrast
enhancer = ImageEnhance.Contrast(image)

# Увеличиваем контраст (значение больше 1) или уменьшаем контраст (значение меньше 1)
contrast_factor = 1.5 # Пример значения контраста
# Увеличиваем контраст изображения
enhanced_image = enhancer.enhance(contrast_factor)

# Сохраняем измененное изображение
enhanced_image.save("output.jpg")


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

Класс PureWindowsPath из модуля pathlib представляет собой чистый путь (без информации о текущем рабочем каталоге) к файлу или директории в операционной системе Windows.

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

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

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

👀 Примеры использования библиотеки:

🔵Проверка валидности номера телефона
from phonenumbers import is_valid_number, parse

# Парсинг номера телефона
parsed_number = parse("+12024561414", "US")

# Проверка валидности номера
if is_valid_number(parsed_number):
print("Номер телефона валиден.")
else:
print("Номер телефона не валиден.")


🔵Получение информации о стране и часовом поясе по номеру телефона
import phonenumbers
from phonenumbers import geocoder, timezone

# Парсинг номера телефона
number = phonenumbers.parse("+12024561414")
# Получение информации о стране
country = geocoder.description_for_number(number, "us")
# Получение информации о часовом поясе
tz = timezone.time_zones_for_number(number)

print(f"Страна: {country}, Часовой пояс: {tz}")


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

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

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤‍🔥2🤔1🤨1
Код для конвертации JSON в CSV на Python

Для конвертации JSON в CSV в коде используются стандартные библиотеки json и csv.

import json
import csv

# Открываем и загружаем JSON файл
with open('file.json', 'r') as json_file:
data = json.load(json_file)

# Открываем (или создаем) CSV файл для записи
with open('file.csv', 'w') as csv_file:
writer = csv.writer(csv_file)

# Записываем заголовки (ключи из JSON)
writer.writerow(data.keys())

# Записываем данные
writer.writerow(data.values())


📝Работа с json-файлами в Python

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

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

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

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

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

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

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

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

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

Также необходимо установит словарь для русского языка:

Установка на Linux:
sudo apt-get install myspell-ru


Установка на Windows производится вручную с GutHub (в видео показано какие файлы необходимо скачать и в какую папку перенести):
🖥 Скачать словарь для русского языка

import enchant

# Создаем словарь для русского языка
d = enchant.Dict("ru_RU")
text = "Это тексст с ошыбками"

corrected_text = []
for word in text.split():
# Если слово написано верно, то добавляем его в список
if d.check(word):
corrected_text.append(word)
# Если слово неправильное
else:
# Получаем предложения
suggestions = d.suggest(word)
# Если есть предложения
if suggestions:
# Выбираем первое предложение
corrected_text.append(suggestions[0])
# Если нет предложений
else:
# Оставляем слово как есть
corrected_text.append(word)

# объединяем слова обратно в текст
corrected_text = " ".join(corrected_text)
print(corrected_text)

# Вывод: Это текст с ошибками


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

Библиотека Tqdm позволяет создавать прогресс-бары во время выполнения итераций.

Полезна при обработке больших объемов данных или при выполнении длительных операций, когда необходимо отслеживать прогресс.

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

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

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

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

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

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

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

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

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

Для конвертации видео из AVI в MP4 в коде используется библиотека moviepy.

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

from moviepy.editor import *


def avi_to_mp4(input_file, output_file):
try:
# Загружаем видео из файла AVI
video = VideoFileClip(input_file)

# Сохраняем видео в формате MP4
video.write_videofile(output_file, codec='libx264')

print("Конвертация завершена успешно!")
except Exception as e:
print(f"Произошла ошибка: {e}")


# Путь к файлу AVI и путь для сохранения конвертированного файла MP4

# Вызываем функцию для конвертации и передаём путь к файлу AVI и путь для сохранения конвертированного файла MP4
avi_to_mp4("video.avi", "output.mp4")


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