Библиотека
EasyOCR
предназначена для оптического распознавания текста (OCR). Поддерживает множество языков (более 80) и отличается простотой использования.Использует нейронные сети для распознавания текста на изображениях, работая с такими популярными библиотеками, как
PyTorch
и OpenCV
.Основные преимущества библиотеки:
pip install easyocr
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥5👍3🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Код для извлечения всех таблиц из HTML-файла и преобразование их в список списков на Python
Для извлечения всех таблиц из HTML-файла в коде используется библиотека
➡️ Установка библиотек:
➡️ Справочник Программиста. Подписаться
Для извлечения всех таблиц из HTML-файла в коде используется библиотека
BeautifulSoup4
.pip install beautifulsoup4
from bs4 import BeautifulSoup
def extract_tables_from_file(file_path):
# Открываем файл по указанному пути в режиме чтения с кодировкой UTF-8
with open(file_path, 'r', encoding='utf-8') as file:
# Читаем содержимое файла и сохраняем его в переменной html
html = file.read()
# Создаем объект BeautifulSoup для парсинга HTML-кода
soup = BeautifulSoup(html, 'html.parser')
# Инициализируем пустой список для хранения извлеченных таблиц
tables = []
# Находим все элементы <table> в HTML-документе
for table in soup.find_all('table'):
# Инициализируем пустой список для хранения строк текущей таблицы
rows = []
# Находим все строки <tr> в текущей таблице
for row in table.find_all('tr'):
# Извлекаем текст из всех ячеек <td> и <th>, убирая лишние пробелы
cells = [cell.get_text(strip=True) for cell in row.find_all(['td', 'th'])]
# Добавляем список ячеек в список строк
rows.append(cells)
# Добавляем список строк в общий список таблиц
tables.append(rows)
# Возвращаем список всех извлеченных таблиц
return tables
# Вызываем функцию и выводим результат для файла 'example.html'
print(extract_tables_from_file('example.html'))
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥8👍3🔥2
Библиотека
python-benedict
предназначена для работы со словарями и предоставляет расширенные возможности по сравнению с обычными словарями.Разработана, чтобы упростить манипуляции с данными, например, извлечение вложенных значений, работу с различными форматами данных (JSON, XML, YAML и др.) и многие другие полезные функции.
Основные возможности библиотеки:
pip install "python-benedict[all]"
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥5👍3🔥2
Библиотека
Dash
предназначена для создания веб-приложений с интерактивными визуализациями данных.Основана на
Flask
(для серверной части), React
(для фронтенда) и Plotly
(для построения графиков).Основные особенности библиотеки:
Plotly
.Dash
легко развертывать на сервере или в облаке, что упрощает доступ к ним для конечных пользователей.pip install dash
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤🔥4🔥3
Библиотека
latexify
автоматически преобразует Python-функции и математические выражения в формат LaTeX. Это упрощает процесс создания математической документации или вывода выражений для использования в научных статьях, презентациях или других контекстах, где применяется LaTeX.Основные возможности библиотеки:
pip install latexify-py
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤🔥3👍1
Библиотека
Injector
предназначена для внедрения зависимостей. Это позволяет более гибко управлять зависимостями между компонентами приложения и улучшает тестируемость, модульность и поддержку кода.Основные особенности библиотеки:
pip install injector
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤🔥3🔥1🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
Код для получения информации о стране по её коду на Python
Для получения информации о стране по её коду мы используем специальный API, а для работы с ним - библиотеку
➡️ Установка библиотеки:
➡️ Справочник Программиста. Подписаться
Для получения информации о стране по её коду мы используем специальный API, а для работы с ним - библиотеку
requests
.pip install requests
import requests
def get_country_info(country_code):
# Формируем URL для API с использованием кода страны
url = f"https://restcountries.com/v3.1/alpha/{country_code}"
response = requests.get(url) # Выполняем GET-запрос к API
# Проверяем, успешен ли запрос (код 200)
if response.status_code == 200:
# Преобразуем ответ в формат JSON
country_data = response.json()
# Проверяем, что данные - это список и он не пуст
if isinstance(country_data, list) and len(country_data) > 0:
# Получаем первую запись из списка данных о стране
country_info = country_data[0]
# Извлекаем общее название страны
name = country_info['name']['common']
# Извлекаем столицу, если она известна
capital = country_info['capital'][0] if 'capital' in country_info else 'Unknown'
# Извлекаем население, если оно известно
population = country_info['population'] if 'population' in country_info else 'Unknown'
# Извлекаем площадь, если она известна
area = country_info['area'] if 'area' in country_info else 'Unknown'
print(f"Страна: {name}") # Выводим название страны
print(f"Столица: {capital}") # Выводим столицу страны
print(f"Население: {population}") # Выводим население страны
print(f"Площадь: {area} квадратных километров") # Выводим площадь страны в квадратных километрах
else:
# Сообщаем об ошибке, если данные отсутствуют
print(f"Ошибка: Не удалось получить информацию для кода страны {country_code}")
else:
# Сообщаем об ошибке, если запрос не успешен
print(f"Ошибка: Не удалось получить информацию для кода страны {country_code}")
# Вызываем функцию для получения информации о стране с кодом 'IT' (Италия)
get_country_info('IT')
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤🔥2
TextSnatcher
— это утилита, которая предназначена для захвата и распознавания текста из скриншотов. Использует OCR (оптическое распознавание символов), чтобы анализировать изображения и извлекать текст.Основной функционал
TextSnatcher
позволяет пользователям делать снимки экрана, после чего текст в изображении обрабатывается с помощью библиотек, таких как Tesseract
.Основные особенности:
# clone repository
git clone https://github.com/RajSolai/TextSnatcher.git TextSnatcher
# cd to dir
cd TextSnatcher
# run meson
meson build --prefix=/usr
# cd to build, build and test
cd build
sudo ninja install && com.github.rajsolai.textsnatcher
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤🔥3👍2
Библиотека
Qiskit
предназначена для работы с квантовыми вычислениями.Предоставляет инструменты для создания, выполнения и симуляции квантовых алгоритмов на реальных квантовых компьютерах и их симуляторах.
Основные компоненты библиотеки:
pip install qiskit
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤🔥2🔥2🤔2
Библиотека
Hupper
предназначена для автоматической перезагрузки процесса во время разработки.Наблюдает за файлами в проекте и автоматически перезапускает приложение, когда в коде происходят изменения.
Основные возможности библиотеки:
pip install hupper
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤🔥3🔥2
Ankigen
— это утилита, основанная на Gradio, которая использует большие языковые модели (LLM) для генерации CSV-файлов, совместимых с Anki, на основе заданных пользователем тем и предпочтений.Основные особенности:
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3👍3🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Для получения изображений мы будем использовать Pexels API. Получить API key можно на официальном сайте (это бесплатно, дело 5 секунд).
Для обращения к API в коде используется библиотека
requests
.pip install
requests
import requests
# Указываем API-ключ для доступа к Pexels
API_KEY = "YOUR_PEXELS_API_KEY"
# Определяем базовый URL для поиска изображений в Pexels
BASE_URL = "https://api.pexels.com/v1/search"
def search_images(query, per_page=10, page=1):
"""
Функция для поиска изображений на Pexels по ключевому слову.
:param query: Ключевое слово для поиска.
:param per_page: Количество изображений на странице (макс. 80).
:param page: Номер страницы результатов.
:return: Список ссылок на изображения.
"""
headers = {
"Authorization": API_KEY # Устанавливаем заголовок авторизации с API-ключом
}
params = {
"query": query, # Ключевое слово для поиска изображений
"per_page": per_page, # Количество изображений на странице
"page": page # Номер страницы результатов
}
# Отправляем GET-запрос к API Pexels
response = requests.get(BASE_URL, headers=headers, params=params)
# Проверяем, успешен ли запрос (код 200)
if response.status_code == 200:
# Преобразуем ответ в формат JSON
data = response.json()
# Извлекаем список фотографий из ответа
photos = data.get("photos", [])
# Получаем ссылки на изображения среднего размера
image_urls = [photo["src"]["medium"] for photo in photos]
# Возвращаем список ссылок на изображения
return image_urls
else:
# Выводим сообщение об ошибке, если запрос не успешен
print(f"Ошибка: {response.status_code}")
# Возвращаем пустой список в случае ошибки
return []
# Пример использования
# Ищем изображения по запросу "hacker", ограничивая до 5 изображений
images = search_images("hacker", per_page=5)
print("Найденные изображения:")
# Проходим по всем найденным ссылкам на изображения
for img_url in images:
# Выводим каждую ссылку на изображение
print(img_url)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3🔥3
Библиотека
h11
предназначена для работы с протоколом HTTP/1.1 на низком уровне.Реализует HTTP без использования сокетов или сетевых операций, что позволяет работать с сетевым кодом более детально и настраиваемо. Обрабатывает только логику протокола HTTP/1.1, оставляя все сетевые операции на усмотрение пользователя.
Основные особенности библиотеки
h11
— это библиотека для построения синхронных и асинхронных HTTP-клиентов и серверов с нуля, без каких-либо дополнительных зависимостей, отвечающих за сокеты или события.h11
сама по себе не асинхронная, она отлично интегрируется с asyncio
, trio
или curio
, так как не накладывает ограничений на способ работы с сокетами.pip install h11
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤🔥2👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Для удаления метаданных из Word-документа в коде используется модуль
zipfile
.import zipfile
def remove_docx_metadata(doc_path):
# Создаём имя для нового документа без метаданных
cleaned_doc_path = f"cleaned_{doc_path}"
# Открываем исходный .docx файл как zip-архив для чтения и создаём новый zip-архив для записи
with zipfile.ZipFile(doc_path, 'r') as src, zipfile.ZipFile(cleaned_doc_path, 'w') as dst:
# Проходимся по всем элементам в исходном архиве
for item in src.infolist():
# Проверяем, не является ли элемент метаданными, которые нужно удалить
if item.filename not in ["docProps/core.xml", "docProps/app.xml", "docProps/custom.xml"]:
# Если элемент не является метаданными, записываем его в новый архив
dst.writestr(item, src.read(item.filename))
# Выводим сообщение о том, что документ сохранён без метаданных
print(f"Документ сохранён без метаданных: {cleaned_doc_path}")
# Указываем путь к исходному документу .docx
doc_path = 'example.docx'
# Вызываем функцию для удаления метаданных из указанного документа
remove_docx_metadata(doc_path)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍3❤🔥2😁1