Справочник Программиста
6.34K subscribers
1.32K photos
381 videos
64 files
1.66K 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
Функция oct() в Python

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

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

uvloop является быстрой заменой встроенного цикла событий asyncio.

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

Основные особенности uvloop:
🔵Высокая производительность;
🔵Совместимость с asyncio;
🔵Использование libuv: uvloop использует библиотеку libuv для обеспечения высокой производительности и эффективности.

➡️Установка uvloop: pip install uvloop

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

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

Библиотека auto-py-to-exe представляет собой инструмент, который позволяет преобразовывать Python-скрипты в исполняемые файлы .exe.

➡️Установка библиотеки: pip install auto-py-to-exe

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥14👍6🔥4🤨1
This media is not supported in your browser
VIEW IN TELEGRAM
💻 Некоторые всё ещё ждут продолжения по MyOs. Мне об этом даже неоднократно писали, и я наконец решил взяться за него!

Для тех, кто не понимает о чём речь:
Как-то раз я сказал, что за 50 лайков напишу псевдо-ОС на Python используя tkinter (подобно тому, как это делали в начале 2010-х годов школьники на PHP Devel Studio). По итогу лайки были набраны, и мне ничего не оставалось, кроме как написать данное приложение. Людям настолько зашла эта тема, что было записано аж 3 серии, после чего я забил на проект.

Надеюсь, что новый контент по MyOs выйдет в ближайшие 2 месяца, а пока можете заценить фон в виде гифки))

Кому интересно, вот все 3 видео по данной теме:
Создал Операционную Систему на python
Создал Операционную Систему на python часть 2
Создал Операционную Систему на Python часть 3

А началось всё с лайков под данным видео:
Создал большое приложение из приложений на Python
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉4🔥3❤‍🔥2👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Код для смены пароля PDF-файла на Python

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

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

import pikepdf

# Указываем путь к PDF-файлу и текущий пароль
pdf_path = "encrypted.pdf"
current_password = "старый_пароль"

# Указываем новый пароль
new_password = "новый_пароль"

# Открываем PDF-файл с помощью текущего пароля
with pikepdf.open(pdf_path, password=current_password) as pdf:
# Изменяем пароль на новый
pdf.save("new_encrypted.pdf",
encryption=pikepdf.Encryption(owner=new_password, user=new_password))


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

Библиотека attrs предназначена для определения классов без необходимости писать много повторяющегося кода.

Позволяет создавать классы с автоматически генерируемыми методами, такими как __init__, __repr__, __eq__, и другими.

Основные возможности attrs включают:
🔵Автоматическое создание метода __init__ для инициализации атрибутов класса.
🔵Автоматическое создание метода __repr__ для представления объекта в виде строки.
🔵Автоматическое создание метода __eq__ для сравнения объектов на равенство.
🔵Возможность добавления дополнительных атрибутов и методов к классу.
🔵Поддержка наследования и множественного наследования.
🔵Интеграция с другими библиотеками и фреймворками, такими как dataclasses и Flask.

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

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

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

Для работы с Word-документом в коде используется библиотека python-docx.

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

import docx


def extract_metadata(docx_file):
# Создаём объект класса Document и передаём путь к документу
doc = docx.Document(docx_file)
# Получаем основные свойства документа
core_properties = doc.core_properties

# Инициализируем пустой словарь для хранения метаданных
metadata = {}

# Извлекаем основные свойства
for prop in dir(core_properties):
if prop.startswith('__'):
continue
# Получаем значение свойства
value = getattr(core_properties, prop)
if callable(value):
continue
# Проверяем свойства с типом datetime
if prop == 'created' or prop == 'modified' or prop == 'last_printed':
if value:
value = value.strftime('%Y-%m-%d %H:%M:%S')
else:
value = None
# Сохраняем свойство и его значение в словаре метаданных
metadata[prop] = value

# Извлекаем пользовательские свойства (если они доступны)
try:
custom_properties = core_properties.custom_properties
if custom_properties:
metadata['custom_properties'] = {}
# Перебираем пользовательские свойства
for prop in custom_properties:
metadata['custom_properties'][prop.name] = prop.value
except AttributeError:
# Пропускаем извлечение пользовательских свойств, если атрибут недоступен
pass
return metadata


# Вызываем функцию extract_metadata()
metadata = extract_metadata('my_doc.docx')
print(metadata)

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

Wren - это простое приложение, которое позволяет управлять своими задачами и заметками.

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

➡️Простая установка библиотеки: pip install wren-notes
➡️Установка библиотеки с необязательными зависимостями: pip install "wren-notes[telegram,http]"

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

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

В данном shorts напишем код консольной "Домашней бухгалтерии" на Python.

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

Библиотека PyJWT предназначена для работы с JSON Web Token (JWT).

JWT - это открытый стандарт (RFC 7519), который определяет компактный и самодостаточный формат для обмена информацией между сторонами в виде JSON-объектов.

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

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

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

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

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

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

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

import pygetwindow as gw

window = gw.getWindowsWithTitle('Название окна')[0]
window.moveTo(500, 500)


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

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

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

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

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

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

Для извлечения метаданных из PDF-файла в коде используется библиотека pikepdf.

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

import pikepdf

# Указываем путь к PDF-файлу
pdf_filename = "example1.pdf"

# Считываем PDF-файл
pdf = pikepdf.Pdf.open(pdf_filename)

# Извлекаем и выводим метаданные PDF-файла
doc_info = pdf.docinfo
for key, value in doc_info.items():
print(key, ":", value)


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

В честь этого, я решил сделать скидку в размере 5️⃣0️⃣🔣 на все свои курсы аж до конца июня!

Приобрести курсы можно у бота - @courses_from_it_start_bot

Просто выбираете товар, перейдя по ссылке оплачиваете его, нажимаете на кнопку "Проверить платёж", и бот сгенерирует и скинет Вам ссылку на закрытый телеграм-канал с оплаченным курсом.

(Если Вы ранее пользовались ботом, отправьте ему команду /start, т.к. я его обновил)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥7❤‍🔥2😎1
This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека PyOpenGL в Python

Библиотека PyOpenGL позволяет использовать возможности OpenGL для создания графических приложений.

OpenGL (Open Graphics Library) — это стандартный интерфейс для рендеринга 2D и 3D графики, широко используемый в индустрии компьютерной графики.

Основные особенности библиотеки:
🔵Поддержка всех основных функций и возможностей OpenGL 4.x и старше, включая шейдеры, буферные объекты и текстуры.
🔵Интеграция с другими библиотеками Python, такими как Pygame и NumPy.
🔵Поддержка различных платформ, включая Windows, Linux и macOS.
🔵Возможность создания интерактивных трехмерных приложений и игр.

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

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

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

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

➡️Установка moviepy: pip install moviepy

from moviepy.editor import VideoFileClip


def gif_to_mp4(input_gif, output_mp4):
clip = VideoFileClip(input_gif)
clip.write_videofile(output_mp4)


gif_to_mp4("input.gif", "output.mp4")


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

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

Особенности библиотеки:
🔵Поддержка различных форматов вывода: позволяет сохранять данные профилирования в различных форматах, таких как Flamegraph, JSON или просто текстовый вывод.
🔵Поддержка различных способов использования: может быть использована как из командной строки, так и в качестве библиотеки, что делает её гибким инструментом для интеграции в собственные процессы анализа и профилирования.
🔵Мультиплатформенность: работает на различных операционных системах, включая Linux, macOS и Windows.
🔵Низкая накладная издержка: поскольку Py-Spy работает в реальном времени, мы можем профилировать даже долгоживущие приложения без значительного влияния на их производительность.

Она поддерживает запись профилей в файл с помощью команды record . Например, мы можем сгенерировать flame graph процесса прописав в терминале:
py-spy top --pid 12345

Или
py-spy top -- python myprogram.py


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

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

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

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

Для разделения страниц PDF-файла в коде используется библиотека PyPDF2.

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

from PyPDF2 import PdfReader, PdfWriter


def split_pdf(input_path, output_prefix):
# Открываем PDF-файл для чтения
reader = PdfReader(input_path)

# Проходимся по страницам PDF-файла
for i in range(len(reader.pages)):
# Создаём объект для записи в PDF
writer = PdfWriter()
# Добавляем текущую страницу к объекту записи
writer.add_page(reader.pages[i])

# Формируем путь для сохранения выходного файла
output_path = f"{output_prefix}_{i}.pdf"

# Открываем файл для записи в режиме для бинарного чтения
with open(output_path, "wb") as f:
# Записываем содержимое страницы в файл
writer.write(f)


if __name__ == "__main__":
split_pdf("document.pdf", "output")


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

Библиотека mutagen предоставляет возможности для работы с аудиофайлами и метаданными.

Она поддерживает различные форматы аудио, такие как MP3, FLAC, Ogg Vorbis, WAV и другие.

Основные возможности библиотеки:
🔵Чтение и запись метаданных аудиофайлов, таких как название трека, исполнитель, альбом, год и т.д.
🔵Изменение и обновление метаданных аудиофайлов.
🔵Извлечение информации о длительности аудиофайла и его кодеке.
🔵Работа с различными форматами метаданных, такими как ID3v1, ID3v2, APEv2 и другими.

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

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

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

Нашёл данный код на просторах интернета, почти весь пришлось переписать и добавить перевод (хотя мне кажется лучше его убрать и читать по-английски)))

Для обращения к API в коде используется библиотека requests, а для перевода на русский - googletrans.

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

import requests
from googletrans import Translator


def fetch_random_meal():
response = requests.get("http://themealdb.com/api/json/v1/1/random.php")
response.raise_for_status()
meal_detail = response.json().get("meals", [])[0]
return meal_detail


def display_meal_details(meal_detail):
translator = Translator()
menu_name = translator.translate(meal_detail.get("strMeal", "Неизвестно"), dest='ru')
menu_category = translator.translate(meal_detail.get("strCategory", "Неизвестно"), dest='ru')
menu_tags = translator.translate(meal_detail.get("strTags", "Неизвестно"), dest='ru')
menu_country = translator.translate(meal_detail.get("strArea", "Неизвестно"), dest='ru')
menu_instruction = translator.translate(meal_detail.get("strInstructions", "Никаких инструкций нет."), dest='ru')
menu_video = meal_detail.get("strYoutube", "Видео недоступно")

print("-------------------------------------------------------------")
print(f"Давайте приготовим {menu_name.text} на ужин!")
print(f"Это меню из {menu_country.text} и оно относится к категории {menu_category.text}!")
print(f"Теги: {menu_tags.text}")
print(f"Вы можете посмотреть видео по ссылке: {menu_video} или следовать инструкциям для приготовления:\n{menu_instruction.text}")
print("-------------------------------------------------------------")


def main():
try:
meal_detail = fetch_random_meal()
display_meal_details(meal_detail)
except requests.RequestException as e:
print(f"Ошибка при получении данных: {e}")


if __name__ == "__main__":
main()


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