Справочник Программиста
6.34K subscribers
1.31K photos
381 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

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

from pathlib import Path


# Создаем папки для каждого расширения файла
def create_folders(folder_path):
# Получаем список всех файлов в папке
files = folder_path.iterdir()

# Проходимся по каждому файлу и создаем папки по расширениям
for file in files:
if file.is_file():
file_extension = file.suffix
folder_name = file_extension[1:]
folder_path_new = folder_path / folder_name

# Проверяем, существует ли папка для данного расширения
if not folder_path_new.exists():
folder_path_new.mkdir(parents=True)


# Перемещаем файлы в соответствующие папки
def move_files(folder_path):
create_folders(folder_path)
# Получаем список всех файлов в папке
files = folder_path.iterdir()

# Проходимся по каждому файлу и перемещаем его в соответствующую папку
for file in files:
if file.is_file():
file_extension = file.suffix
folder_name = file_extension[1:]
folder_path_new = folder_path / folder_name
file_path_new = folder_path_new / file.name

# Перемещаем файл в соответствующую папку
file.rename(file_path_new)


move_files(Path(r'C:\Users\admin\pythonProject\files'))


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

Библиотека pystray предоставляет возможность создавать системные треи (system tray) в Windows, macOS и Linux.

Она позволяет добавлять иконки в трей и отображать всплывающие меню с различными действиями.

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

🖥 Репозиторий
⚙️ Документация
📺 Моё (довольно старое, но полезное) видео по данной библиотеке

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤‍🔥6🔥3
Код для получения всех IP-адресов, связанных с хостом на Python

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

import socket

hostname = 'www.google.com'
ip_addresses = socket.gethostbyname_ex(hostname)[2]

for ip in ip_addresses:
print(ip)

# Вывод:
# 173.194.221.99
# 173.194.221.106
# 173.194.221.104
# 173.194.221.147
# 173.194.221.103
# 173.194.221.105


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

Библиотека JupySQL позволяет работать с SQL и строить графики для больших наборов данных в Jupyter.

Предоставляет магические команды %sql, %%sql и %sqlplot, которые позволяют выполнять SQL-запросы и строить графики прямо в Jupyter.

Библиотека совместима со всеми основными базами данных (например, PostgreSQL, MySQL, SQL Server), хранилищами данных (например, Snowflake, BigQuery, Redshift) и встроенными движками (SQLite и DuckDB).

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤‍🔥2😁1
Справочник Программиста
Код для удаления метаданных изображения на 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