This media is not supported in your browser
VIEW IN TELEGRAM
Код для удаления страниц из PDF документа на Python
Для удаления страниц из PDF-файла в коде используется библиотека
➡️ Установка библиотеки:
➡️ Справочник Программиста. Подписаться
Для удаления страниц из PDF-файла в коде используется библиотека
PyPDF2
.pip install pypdf2
import PyPDF2
def remove_pages(input_pdf, output_pdf, pages_to_remove):
# Открываем исходный PDF документ
with open(input_pdf, 'rb') as file:
reader = PyPDF2.PdfReader(file)
writer = PyPDF2.PdfWriter()
# Перебираем все страницы
for page_num in range(len(reader.pages)):
# Если номер страницы не в списке для удаления, добавляем её в новый PDF
if page_num not in pages_to_remove:
writer.add_page(reader.pages[page_num])
# Сохраняем новый PDF документ
with open(output_pdf, 'wb') as output_file:
writer.write(output_file)
# Исходный файл
input_pdf = 'document.pdf'
# Файл с удалёнными страницами
output_pdf = 'output.pdf'
# Номера страниц для удаления (начиная с 0)
pages_to_remove = [0]
remove_pages(input_pdf, output_pdf, pages_to_remove)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤🔥3👍3
This media is not supported in your browser
VIEW IN TELEGRAM
diskcache
- это лицензированная Apache2 библиотека кэша с поддержкой диска и файлов, совместимая с Django
. Основные особенности библиотеки:
import time
import diskcache as dc
# Инициализируем кэш в указанной директории
cache = dc.Cache('mycache')
# Функция, имитирующая дорогостоящие вычисления
@cache.memoize(expire=60) # Кэшируем результат на 60 секунд
def expensive_computation(x, y):
print(f"Выполняю тяжелые вычисления для ({x}, {y})...")
time.sleep(5) # Имитация долгих вычислений
return x * y
# Первый вызов функции будет долгим, так как вычисления не кэшированы
start_time = time.time()
result = expensive_computation(5, 10)
print(f"Результат: {result}, время выполнения: {time.time() - start_time} секунд")
# Второй вызов функции с теми же параметрами будет быстрым, так как результат будет взят из кэша
start_time = time.time()
result = expensive_computation(5, 10)
print(f"Результат: {result}, время выполнения: {time.time() - start_time} секунд")
# Вызов с новыми параметрами снова приведет к вычислениям, так как таких данных еще нет в кэше
start_time = time.time()
result = expensive_computation(7, 3)
print(f"Результат: {result}, время выполнения: {time.time() - start_time} секунд")
# Закрываем кэш, когда больше не нужен
cache.close()
pip install diskcache
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥5👍3🔥2
Библиотека Telethon в Python
Основные особенности библиотеки:
🔵 Асинхронность: Поддерживает асинхронные функции, что позволяет обрабатывать множество событий одновременно без блокировки программы.
🔵 Поддержка всех методов Telegram API: Предоставляет доступ к большинству возможностей Telegram, включая отправку сообщений, управление группами и каналами, получение и отправку медиафайлов, работу с пользователями и многое другое.
🔵 События: Поддерживает обработку событий, таких как получение новых сообщений, изменения в чатах и каналах и другие.
🔵 Гибкость: можно использовать как для создания ботов, так и для создания пользователей-клиентов.
➡️ Установка библиотеки:
📱 Репозиторий
⚙️ Документация
➡️ Справочник Программиста. Подписаться
Telethon
- это асинхронная библиотека, предназначенная для взаимодействия с API Telegram и позволяет создавать ботов и клиентов для работы с Telegram через протокол MTProto.Основные особенности библиотеки:
pip install telethon
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3👍2🔥2🤨1
В данном shorts напишем код для определения широты и долготы по адресу.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤🔥2🔥2
Справочник Программиста
Код для определение координат местоположения по адресу на Python
Для определение координат местоположения по адресу в коде используется библиотека
➡️ Установка библиотеки:
➡️ Справочник Программиста. Подписаться
Для определение координат местоположения по адресу в коде используется библиотека
geopy
.pip install geopy
from geopy.geocoders import Nominatim
# Создаём экземпляр класса Nominatim
geolocator = Nominatim(user_agent="user")
# Определяем координаты местоположения "Рим, Колизей"
location = geolocator.geocode("Рим, Колизей")
# Выводим широту и долготу местоположения
print(location.latitude, location.longitude)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍5❤🔥2🤨1
В данной статье напишем код симулятора монетки (орёл/решка) на Python.
P.S. Да, я вспомнил что у меня есть сайт, поэтому буду стараться продолжать пополнять его новыми статьями как и раньше!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤🔥2🎉2
django-unfold
- это тема для кастомизации админ-панели Django
. Использует Tailwind CSS для улучшения визуальной части админки и поддерживает светлый и тёмный режимы.Основные функции включают настраиваемое боковое меню, поддержку WYSIWYG-редактора, табы для моделей и форм, встроенные фильтры, работу с PostgreSQL ArrayField, возможность изменять цветовую схему и многое другое.
Совместима с родной админкой
Django
и предлагает расширенные возможности для разработки панелей управления.pip install django-unfold
poetry add django-unfold
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤🔥2🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека
pyinfra
предназначена для выполнения команд на удалённых серверах, управления конфигурацией, развертывания приложений и прочих задач, связанных с управлением инфраструктурой.Основные особенности библиотеки:
Ansible
или Puppet
), для работы pyinfra
не требует установки агентов на управляемые машины. Она использует стандартный SSH для взаимодействия с серверами.pip install pyinfra
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥5👍3🔥2
В данной статье напишем код игры "Пинг-понг" на Python.
Пишем игру «Виселица» на Python
Крестики-нолики на Python
Крестики-нолики с графическим интерфейсом на Python
Анаграммы на Python
Пишем игру «Змейка» на Python
Игра «Угадай число» на Python
Игра «Камень, ножницы, бумага» на Python
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤🔥2👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека
Bytewax
предназначена для обработки потоков данных в реальном времени.Помогает создавать программы, которые принимают данные из источников (например, очереди сообщений или базы данных), обрабатывают их и выводят результат.
Основные возможности библиотеки:
Bytewax
поддерживает механизм хранения состояния.pip install bytewax
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥5🔥3
В данном shorts узнаем как работает сортировка пузырьком.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥6👍1🔥1🤨1
Справочник Программиста
This media is not supported in your browser
VIEW IN TELEGRAM
Для визуализации в коде используется библиотека
matplotlib
, а для генерации случайных значений - numpy
.pip install matplotlib
numpy
import matplotlib.pyplot as plt
import numpy as np
def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n - i - 1):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
draw(arr)
return arr
def draw(arr):
plt.clf() # Очистка текущей фигуры
plt.bar(range(len(arr)), arr, color='blue')
plt.ylim(0, max(arr) + 1)
plt.pause(0.9) # Увеличенная пауза для визуализации
# Пример использования
if __name__ == "__main__":
np.random.seed(0) # Для воспроизводимости
data = np.random.randint(1, 20, size=10)
plt.ion() # Включение интерактивного режима
bubble_sort(data)
plt.ioff() # Отключение интерактивного режима
plt.show() # Показать финальную сортировку
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍4❤🔥3🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека Rawdog в Python
Библиотека
Особенности библиотеки:
🔵 Генерация и выполнение скриптов: На основе введённых пользователем команд автоматически создает Python-скрипты и тут же их выполняет.
🔵 Режим взаимодействия: Есть два режима работы, одноразовое выполнение команды или режим диалога, когда ассистент продолжает генерировать и выполнять команды до завершения сессии.
🔵 Поддержка различных моделей: По умолчанию используется GPT-4 Turbo, но можно выбрать другие модели (например, GPT-3.5 или локальные модели), изменив настройки конфигурации.
🔵 Безопасность: Существует опция
➡️ Установка библиотеки:
📱 Репозиторий
➡️ Справочник Программиста. Подписаться
Библиотека
Rawdog
представляет собой ассистента в командной строке (CLI), который генерирует и автоматически выполняет Python-скрипты в ответ на запросы пользователя.Особенности библиотеки:
--leash
, которая позволяет пользователю просматривать и утверждать скрипты перед их выполнением, чтобы избежать потенциально вредных команд.pip install rawdog-ai
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤🔥3🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Для переименования файлов в коде используется стандартная библиотека
pathlib
.from pathlib import Path
def rename_files(directory, extension, prefix='', suffix=''):
# Преобразуем строку с путём к каталогу в объект Path
dir_path = Path(directory)
# Проверяем, является ли указанный путь каталогом
if not dir_path.is_dir():
# Если нет, выбрасываем исключение
raise NotADirectoryError(f"{directory} не является каталогом")
# Проходимся по всем элементам в каталоге
for file in dir_path.iterdir():
# Проверяем, является ли элемент файлом и соответствует ли расширение
if file.is_file() and (extension is None or file.suffix == extension):
# Формируем новое имя файла с учетом префикса, суффикса и расширения
new_name = f"{prefix}{file.stem}{suffix}{file.suffix}"
# Создаём новый объект Path с новым именем файла
new_file = file.with_name(new_name)
try:
# Переименовываем файл
file.rename(new_file)
# Выводим сообщение об успешном переименовании
print(f"Переименован: {file.name} -> {new_name}")
# Обрабатываем возможные исключения
except Exception as e:
# Выводим сообщение об ошибке
print(f"Ошибка при переименовании {file.name}: {e}")
if __name__ == "__main__":
# Указываем каталог, в котором будут переименовываться файлы
directory = 'files'
# Указываем расширение файлов, которые нужно переименовать
extension = '.txt'
# Указываем префикс для нового имени файла
prefix = 'new_'
# Указываем суффикс для нового имени файла
suffix = '_old'
# Вызываем функцию для переименования файлов
rename_files(directory, extension, prefix, suffix)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤🔥3🔥3
Функция callable() в Python
В данной статье рассмотрим, как работают функции
➡️ Справочник Программиста. Подписаться
В данной статье рассмотрим, как работают функции
callable()
в Python.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤🔥2
Библиотека
Yarl
предоставляет удобные методы для разбора, построения и модификации URL-адресов, делая работу с ними более простой и эффективной.Основные возможности библиотеки:
pip install yarl
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥6👍3🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Код для удаления метаданных из PDF-документа на Python
Для удаления метаданных из PDF-документа в коде используется библиотека
➡️ Установка библиотеки:
➡️ Справочник Программиста. Подписаться
Для удаления метаданных из PDF-документа в коде используется библиотека
PyPDF2
.pip install pypdf2
import PyPDF2
def remove_metadata(input_pdf, output_pdf):
# Открываем исходный PDF-документ
with open(input_pdf, 'rb') as file:
reader = PyPDF2.PdfReader(file)
writer = PyPDF2.PdfWriter()
# Копируем страницы из исходного файла в новый
for page_num in range(len(reader.pages)):
writer.add_page(reader.pages[page_num])
# Удаляем метаданные
writer._metadata = {}
# Сохраняем PDF с удалёнными метаданными
with open(output_pdf, 'wb') as new_file:
writer.write(new_file)
# Пример использования
input_pdf = "document.pdf"
output_pdf = "output.pdf"
remove_metadata(input_pdf, output_pdf)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥5👍3🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека Plotext в Python
Библиотека
Основные возможности библиотеки:
🔵 Графики в терминале - отображает графики прямо в консоли с использованием символов ASCII.
🔵 Типы графиков - поддерживаются различные виды графиков: линейные графики, точечные диаграммы, гистограммы и другие.
🔵 Масштабирование и настройка осей - можно управлять диапазоном осей, изменять масштаб, и добавлять метки осей.
🔵 Цветовые схемы - поддерживает цветные графики, если терминал поддерживает цвета.
🔵 Работа с большими данными - умеет "сжимать" большие наборы данных, отображая их в уменьшенном виде.
🔵 Настраиваемые размеры графиков - можно изменять размер графика под свой терминал.
🔵 Отсутствие зависимостей - не требует никаких графических библиотек, что делает её легковесной.
✅ Пример использования библиотеки:
➡️ Установка библиотеки:
📱 Репозиторий
⚙️ Документация
➡️ Справочник Программиста. Подписаться
Библиотека
Plotext
позволяет строить графики прямо в консоли/терминале.Основные возможности библиотеки:
import plotext as plt
# Генерируем данные
x = [1, 2, 3, 4, 5]
y = [10, 5, 7, 2, 8]
# Строим график
plt.plot(x, y)
# Добавляем заголовок и метки осей
plt.title("Пример графика")
plt.xlabel("Ось X")
plt.ylabel("Ось Y")
# Отображаем график
plt.show()
pip install plotext
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤🔥2👍2