TGINSIGHT CHAT
Python Academy
@python_academy
EducaciónPython Academy — один канал вместо тысячи учебников Чат канала: @python_academy_chat Сотрудничество: @zubar89 Канал включён в перечень РКН: https://rkn.link/TVu
Posts recientes
Pág. 26 de 85 · 1,014 posts
Тестирование на pytest pytest — ближе по духу к языку Python нежели unittest, которая накладывает определенные обязательства при разработке тестов. Например, создание классов-наследников от TestCase или выполнение определенной процедуры запуска тестов. Но при разработке на pytest ничего этого делать не нужно. Вы просто пишете функции, которые должны начинаться с "test_" и используете assert, встроенные в Python. Также он поддерживает запуск тестов на unittest и nose, то есть полная обратная совместимость с ними. #тестирование#pytest#assert
Hashtags
Publicado 28 ago
Deep-Translator: Мощный инструмент для многоязычного перевода в Python Deep-Translator - это выдающаяся библиотека на Python, разработанная для удобного и качественного перевода текстов на различные языки используя более 10 сервисов! Она предоставляет удобные инструменты для автоматического перевода текста, с опцией перевода между более чем 100 языками мира. Deep-Translator обладает высокой точностью перевода, а также поддерживает множество функций для настройки перевода под ваши потребности. Deep-Translator также предоставляет возможность работы с различными API сервисами перевода (Google Translate, Yandex Translator, и т.д.), что делает его гибким инструментом для разработчиков. Одним из плюсом использования Deep-Translator является его способность работать с текстами разных языков и поддерживать большое количество языковых пар для перевода. Deep-Translator - это отличный инструмент для многоязычного перевода ваших текстов, который поможет вам сделать ваши проекты доступными для широкой аудитории. Документация доступна тут
Картографическая визуализация с использованием Folium Folium обеспечивает интеграцию данных на карты, позволяя создавать как фоновые картограммы, так и размещать на картах векторные, растровые и HTML элементы в виде маркеров. Эта библиотека поддерживает пользовательские наборы тайлов от MapBox или Cloudmade. В арсенале Folium имеются различные типы маркеров, от простых маркеров местоположения со стандартными листовками, содержащими всплывающие окна и HTML подсказки, до возможности встраивания изображений, видео, а также GeoJSON и TopoJSON объектов. Посмотреть результат выполнения кода со скрина можно тут -- https://i.imgur.com/QhNDb5I.png #python#folium
Скачиваем вебсайты целиком Максимально простой, но при этом мощный пакет pywebcopy поможет вам клонировать отдельные веб-страницы или даже целые сайты. Функция save_webpage скачивает страницу по указанной ссылке, в аргументы также можно передать путь, куда сохранить результат. А вот save_website дает возможность скачать целый вебсайт рекурсивно. Например, если сайт представляет из себя блог, то скрипт скачет все статьи, которые есть на сайте. Но здесь надо быть аккуратнее, подобная рекурсивная загрузка отправит много запросов к серверу и может сильно нагрузить его, если на сайте много страниц. #pywebcopy
Hashtags
Получаем текст с картинки У Google есть система Tesseract, которая позволяет парсить текст с картинок с помощью оптического распознавания символов. И в качестве обертки над их системой, был создан пакет pytesseract, который максимально удобно и легко использовать. Для того, чтобы получить текст с картинки, нужно вызвать метод image_to_string. Если вас интересует текст на русском, то следует указать аургмент lang как 'rus'. Еще важно, что для открытия картинок рекомендуется использовать pillow, хоть и имеется возможность просто указать путь к файлу в виде строки. #pytesseract
Hashtags
Работа с PDF файлами используя PyPDF2 В этом посте, вы узнаете, как работать с PDF-файлами в Python. PyPDF2 предоставляет функциональность для работы с PDF-файлами в Python, позволяя автоматизировать процессы обработки и анализа документов в формате PDF. Пример кода: import PyPDF2 with open('example.pdf', 'rb') as file: pdf_reader = PyPDF2.PdfReader(file) num_pages = len(pdf_reader.pages) print(f"Количество страниц в PDF: {num_pages}") first_page_text = pdf_reader.pages[0].extract_text() print("Текст с первой страницы:") print(first_page_text) pdf_writer = PyPDF2.PdfWriter() pdf_writer.add_page(pdf_reader.pages[0]) with open('new_document.pdf', 'wb') as new_file: pdf_writer.write(new_file) print("Обработка PDF завершена.") В этом примере мы открываем PDF-файл, используя PyPDF2, извлекаем информацию о количестве страниц и тексте с первой страницы. Затем мы создаем новый PDF-файл, добавляем в него первую страницу и сохраняем его под именем "new_document.pdf". PyPDF2 - это мощный инструмент для работы с PDF-документами в Python. Он предоставляет возможности для чтения, создания и манипулирования PDF-файлами, что делает его отличным выбором для автоматизации задач, связанных с обработкой документов в этом формате. #python#pypdf2
Работа с методом str.replace() в Python Python предлагает множество удобных встроенных методов для работы со строками. Один из таких методов - str.replace(), который используется для замены частей строки. Метод принимает дваосновных аргумента: первый - это подстрока, которую нужнозаменить в исходной строке, а второй - это подстрока, на которую происходитзамена. Кроме того, существует третийнеобязательныйаргумент, определяющий количествозаменстарой подстроки на новую. Если он не указан, метод заменяет все вхождения. #python#replace
dateparser dateparser — это библиотека Python, предоставляющая удобныеинструменты для разбора и анализа текстовых дат и времени. Она автоматическиопределяет формат даты и времени в текстовой строке и преобразует его в объект datetime. Это особенно полезно, когда у вас есть текстовые описания дат и времени в различных форматах, и вы хотите их структурировать. Обратитевнимание, что dateparser может использовать текущие локальные настройки для определения форматов даты и времени, поэтому результаты могут зависеть от настроек вашей системы. Вы также можете явно указатьнужную локаль с помощью аргумента locales, если это необходимо. #python#dateparser
Hashtags
Деструкторы При уничтожении экземпляра класса в большинстве языков вызывается специальный метод, который называется деструктор. В Python деструктор можно переопределять с помощью магического метода __del__, который вызовется автоматически при удалении объекта. Вообще деструкторы крайне редко переопределяется в Python, но полезно знать, что именно эти методы отвечают за очистку при удалении объекта. #классы
Hashtags
Использование внешних процессов в Python с помощью subprocess В мире программирования бывают моменты, когда необходимо взаимодействовать с внешними программами из кода на Python. Для этих задач отлично подходит модуль subprocess, который предоставляет удобный способ запуска внешних процессов, передачи данных им и получения результатов выполнения. Что такое subprocess? subprocess - это модуль Python, который предоставляет множество возможностей для запуска новых процессов, подключения к существующим процессам, а также обмена данными между вашим кодом и внешними программами. Пример использования subprocess: import subprocess # Простой пример: выполнение команды "ls" в командной строке result = subprocess.run(['ls', '-l'], stdout=subprocess.PIPE, text=True) # Вывод результата выполнения команды print(result.stdout) В данном примере мы использовали subprocess.run для выполнения команды "ls -l". Параметр stdout=subprocess.PIPE указывает на перенаправление вывода команды в переменную result.stdout. Параметр text=True гарантирует, что вывод будет в текстовом формате. Передача данных и получение результата: import subprocess # Передача данных в команду и получение результата input_data = "Hello, subprocess!" result = subprocess.run(['echo', input_data], stdout=subprocess.PIPE, text=True) # Вывод результата выполнения команды print(result.stdout) В данном примере мы использовали команду echo для вывода переданных данных. subprocess.run позволяет передавать данные в команду через параметр input. subprocess также предоставляет множество других функций для более сложных сценариев взаимодействия с процессами, таких как запуск процесса в фоновом режиме, обработка ошибок, а также потоковый вывод данных. #python#subprocess
Hashtags
Получение геолокации по IP с использованием ip2geotools Недавно я обнаружил увлекательный пакет ip2geotools, который обеспечивает возможность получения геолокации по IP из различных баз данных. Пример кода для получения информации по IP с использованием класса DbIpCity, представляющего некоммерческую базу данных, выглядит следующим образом: from ip2geotools.databases.noncommercial import DbIpCity def get_ip_geolocation(ip_address): try: response = DbIpCity.get(ip_address, api_key='free') city = response.city region = response.region country = response.country latitude = response.latitude longitude = response.longitude print(f"Информация о местоположении для IP {ip_address}:") print(f"Город: {city}") print(f"Регион: {region}") print(f"Страна: {country}") print(f"Широта: {latitude}") print(f"Долгота: {longitude}") except Exception as e: print(f"Ошибка при получении информации по IP {ip_address}: {e}") ip_address_to_check = '8.8.8.8' get_ip_geolocation(ip_address_to_check) Этот код использует метод get из класса DbIpCity для получения информации о местоположении по заданному IP-адресу. Помните о том, что для использования некоторых баз данных может потребоваться API-ключ. #python#ip2geotools
Hashtags
Курс и конвертер валют в Python Для работы с разными валютами и их курсами существует библиотека forex-python. С её помощью можно как узнать курс любой валюты, так и сконвертировать одну валюту в другую. Ознакомиться с интерактивным примером кода можно тут. #currency#forex_python
Hashtags