Создание QR-кода с помощью qrcode инструмента
Воспользуйтесь этим простым, но эффективным инструментом для генерации QR-кодов. Для рисования изображений необходима библиотека
Для получения изображения с QR-кодом достаточно использовать метод
Помимо этого, инструмент предлагает возможность интеграции изображений в QR-коды и поддерживает шесть различных стилей оформления. Более подробную информацию, включая продвинутые примеры использования, вы найдете в официальной документации по ссылке.
#qrcode
Воспользуйтесь этим простым, но эффективным инструментом для генерации QR-кодов. Для рисования изображений необходима библиотека
Pillow
, так что проверьте ее наличие перед началом работы.Для получения изображения с QR-кодом достаточно использовать метод
make()
, передав ему нужные данные. Сохранить результат можно с помощью метода save()
, примененного к созданному объекту изображения.Помимо этого, инструмент предлагает возможность интеграции изображений в QR-коды и поддерживает шесть различных стилей оформления. Более подробную информацию, включая продвинутые примеры использования, вы найдете в официальной документации по ссылке.
#qrcode
Автоматизация мобильных приложений с помощью uiautomator2
Сегодня мы поговорим о библиотеке
Эта библиотека может пригодиться для создания автотестов, скриптов для тестирования пользовательского интерфейса, и многих других задач, связанных с мобильной разработкой.
Что такое
С
#python #uiautomator2 #автоматизация
Сегодня мы поговорим о библиотеке
uiautomator2
, которая предоставляет мощные инструменты для автоматизации тестирования и взаимодействия с мобильными приложениями на платформе Android
. Эта библиотека может пригодиться для создания автотестов, скриптов для тестирования пользовательского интерфейса, и многих других задач, связанных с мобильной разработкой.
Что такое
uiautomator2
?uiautomator2
- это Python-библиотека, предоставляющая возможность управления устройствами Android
и взаимодействия с приложениями на них. Она основана на Google's Android Testing Support Library
и является мощным инструментом для автоматизации действий на устройствах Android
.С
uiautomator2
, вы можете выполнять действия, такие как нажатие кнопок, ввод текста, чтение содержимого экрана устройства и многое другое, что делает ее полезной для автоматизации тестирования мобильных приложений.#python #uiautomator2 #автоматизация
❤4
This media is not supported in your browser
VIEW IN TELEGRAM
Как построить с нуля команду AI-автоматизации и перестать перекладывать задачи руками?
В новом выпуске подкаста «Расскажите про MWS» мы поговорили с Никита Казарян, руководителем AI-направления в MWS..
Разобрали, как внедрение AI-инструментов помогает:
— Чем AI-агенты отличаются от классической автоматизации
— Как RAG, MCP и Fine-tuning помогают бизнесу работать быстрее
— Кого искать в команду и почему «ленивые инженеры» часто оказываются лучшими
Поговорили и о том, с чего начать переход на AI, чтобы не утонуть в сложных технологиях, и как выстроить систему, которая работает сама, пока вы придумываете новые кампании.
Смотрите и слушайте на всех популярных платформах:
YouTube
VK Видео
Яндекс Музыка
Apple Podcasts
Mave Digital
В новом выпуске подкаста «Расскажите про MWS» мы поговорили с Никита Казарян, руководителем AI-направления в MWS..
Разобрали, как внедрение AI-инструментов помогает:
— Чем AI-агенты отличаются от классической автоматизации
— Как RAG, MCP и Fine-tuning помогают бизнесу работать быстрее
— Кого искать в команду и почему «ленивые инженеры» часто оказываются лучшими
Поговорили и о том, с чего начать переход на AI, чтобы не утонуть в сложных технологиях, и как выстроить систему, которая работает сама, пока вы придумываете новые кампании.
Смотрите и слушайте на всех популярных платформах:
YouTube
VK Видео
Яндекс Музыка
Apple Podcasts
Mave Digital
❤3
Красивый вывод таблиц
Недавно нам понадобилось логировать часть базы данных. И тут мы вспомнили про прекрасный модуль
Итак, имена столбцов задается с помощью атрибута
Но даже если вы не фанат командной строки, то иногда нужно сохранить отчет о работе вашей программы в текстовый файл. В таком случае можно сохранить саму таблицу, вызвав метод
#трюки #prettytable
Недавно нам понадобилось логировать часть базы данных. И тут мы вспомнили про прекрасный модуль
prettytable
, который позволяет красиво выводить таблицы.Итак, имена столбцов задается с помощью атрибута
table.field_names
. А добавлять строки с данными в таблицу можно методом table.add_row([])
, передавая туда список элементов.Но даже если вы не фанат командной строки, то иногда нужно сохранить отчет о работе вашей программы в текстовый файл. В таком случае можно сохранить саму таблицу, вызвав метод
table.get_string()
.#трюки #prettytable
👍6
Важное про цифры и Юникод
0, 1, 2, 3, 4, 5, 6, 7, 8, 9 — не единственные символы, которые считаются цифрами. Python следует правилам Юникода и обрабатывает несколько сотен символов как цифры. Полный список находится здесь.
Это крайне важно знать, потому что эти символы влияют на такие функции, как
Думаю, в один момент это знание сэкономит вам время на исправление "бага" с такими странными символами. Предупрежден — значит вооружен.
#числа #юникод
0, 1, 2, 3, 4, 5, 6, 7, 8, 9 — не единственные символы, которые считаются цифрами. Python следует правилам Юникода и обрабатывает несколько сотен символов как цифры. Полный список находится здесь.
Это крайне важно знать, потому что эти символы влияют на такие функции, как
int
, unicode.isdecimal
и даже re.match
.Думаю, в один момент это знание сэкономит вам время на исправление "бага" с такими странными символами. Предупрежден — значит вооружен.
#числа #юникод
Скачиваем видео с YouTube
Пакет
Для работы нам необходимо создать объект класса YouTube. Помимо ссылки на видео в конструктор можно передать в качестве параметров функции для обработки прогресса загрузки и завершения.
Большинство видео на ютубе не имеют аудиодорожки на потоках с высоким разрешением, свыше 720p — это связано с технологией передачи DASH, которую использует YouTube.
На картинке мы показали как отфильтровать потоки с прогрессивной передачей и выбрать из полученного списка с максимальным доступным разрешением до 720p.
Для загрузки выбранного потока используем функцию
#python #youtube
Пакет
pytube
предоставляет всю небходимую функциональность для скачивания видео с YouTube, а также для сбора всей информации о нем.Для работы нам необходимо создать объект класса YouTube. Помимо ссылки на видео в конструктор можно передать в качестве параметров функции для обработки прогресса загрузки и завершения.
Большинство видео на ютубе не имеют аудиодорожки на потоках с высоким разрешением, свыше 720p — это связано с технологией передачи DASH, которую использует YouTube.
На картинке мы показали как отфильтровать потоки с прогрессивной передачей и выбрать из полученного списка с максимальным доступным разрешением до 720p.
Для загрузки выбранного потока используем функцию
download()
, в функцию можно передать в качестве параметров путь до директории для сохранения и имя файла.#python #youtube
👎7👍4❤2
Получаем метаданные из аудиофайла
Для извлечения метаданных из аудиофайлов, а также их редактирования есть очень удобный модуль
Модуль поддерживает форматы метаданных
#audio #mutagen
Для извлечения метаданных из аудиофайлов, а также их редактирования есть очень удобный модуль
mutagen
. Модуль позволяет получить всю основную информацию об аудиофайле: длину, битрейт, исполнителя и так далее. Модуль поддерживает форматы метаданных
APEv2
и ID3v2
, анализируя все кадры ID3v2.4
(посмотреть все нужные теги ID3v2
можно тут). #audio #mutagen
❤5
Оптимизация Памяти в Python с Библиотекой gc
Если вы заботитесь о производительности ваших
В приведенном коде мы создаем список объектов
Использование библиотеки
#python #gc #garbagecleaner
Если вы заботитесь о производительности ваших
Python
-приложений, то библиотека gc (Garbage Collector)
вам точно пригодится. Давайте рассмотрим, почему.gc
в Python
предназначена для автоматического управления памятью, освобождая вас от рутины по управлению объектами. Это особенно полезно в задачах, связанных с избежанием утечек памяти и оптимизацией её использования.import gc
gc.enable()
class SampleObject:
def __init__(self, value):
self.value = value
objects_list = [SampleObject(i) for i in range(1000000)]
gc.collect()
# Пример обработки данных (например, фильтрация объектов)
filtered_objects = [obj for obj in objects_list if obj.value % 2 == 0]
gc.collect()
print(filtered_objects[:10])
В приведенном коде мы создаем список объектов
SampleObject
, который может занять значительное количество памяти. После обработки данных или в других стратегических точках программы, вызывается сборщик мусора для освобождения памяти, занятой неиспользуемыми объектами.Использование библиотеки
gc
в Python
может значительно улучшить производительность ваших программ, освободив вас от рутины по управлению памятью. Это особенно важно в проектах с большим объемом данных или длительным временем выполнения. #python #gc #garbagecleaner
❤4
Установление SSH-соединения с сервером
Библиотека
Модуль
Для установки пакета используйте менеджер пакетов
#python #paramiko #ssh
Библиотека
paramiko
предоставляет возможность подключения к серверам через протокол SSH2
, позволяя выполнять те же действия, что и при использовании стандартной утилиты ssh
в Linux
.Модуль
paramiko
отличается простотой в использовании, и вы можете ознакомиться с примерами его основных методов на представленном изображении. В качестве любопытного факта, название Paramiko
происходит от слияния слов "параноик" и "друг" на языке эсперанто.Для установки пакета используйте менеджер пакетов
pip
в привычном порядке. Подробную документацию можно найти здесь.#python #paramiko #ssh
👍3
Вызов программ операционной системы
sh — это полноценный интерфейс, как альтернатива
Все запускаемые команды импортируются, как обычные функции, но функциями не являются, а лишь динамически обращаются к командам системы. Таким образом мы можем по сути обратиться к любой программе в системе.
Для обращения к командам программы и передать набор аргументов команды, мы можем передать их как обычные аргументы функции.
Также в модуле реализована функция
#sh
sh — это полноценный интерфейс, как альтернатива
subprocess
, который позволяет вызывать любую программу, как если бы это была обычная функция. Все запускаемые команды импортируются, как обычные функции, но функциями не являются, а лишь динамически обращаются к командам системы. Таким образом мы можем по сути обратиться к любой программе в системе.
sh
полагается на системные вызовы Unix и работает только в Unix-подобных операционных системах, т.е. данный модуль не подойдет для работы с Windows.Для обращения к командам программы и передать набор аргументов команды, мы можем передать их как обычные аргументы функции.
Также в модуле реализована функция
which
, которая находит полный путь до программы либо возвращает None
, если программа не найдена.#sh
❤8
Запись экрана в Windows с помощью Python
Для записи экрана в Windows используя
Библиотека
Эта библиотека идеально подходит для создания игровых ботов.
#python #d3dshot
Для записи экрана в Windows используя
Python
существует несколько библиотек, однако наиболее эффективной оказалась d3dshot.Библиотека
d3dshot
использует системные библиотеки DXGI
и Direct3D
для быстрого и надежного захвата экрана.Эта библиотека идеально подходит для создания игровых ботов.
#python #d3dshot
❤4
Вычисление размера объектов
Для вычисления размера объекта мы можем использовать функцию
И хотя все
Аргумент
Функция
#getsizeof
Для вычисления размера объекта мы можем использовать функцию
getsizeof(object[, default])
из модуля sys
. Так как в python все по сути является объектами, то и вычислить размер в памяти мы можем у любого такого объекта.И хотя все
built-in
(встроенные) объекты и вернут правильный размер, в общем случае это не должно быть верно для каких-либо пользовательских объектов.Аргумент
default
позволяет определить значение, которое будет возвращено, если тип объекта не предоставляет средства для извлечения размера и вызовет TypeError
.Функция
getsizeof
вызывает метод __sizeof__
объекта и добавляет дополнительные служебные данные сборщика мусора.#getsizeof
👍1
Курс и конвертер валют в Python
Для работы с разными валютами и их курсами существует библиотека forex-python.
С её помощью можно как узнать курс любой валюты, так и сконвертировать одну валюту в другую.
Ознакомиться с интерактивным примером кода можно тут.
#currency #forex_python
Для работы с разными валютами и их курсами существует библиотека forex-python.
С её помощью можно как узнать курс любой валюты, так и сконвертировать одну валюту в другую.
Ознакомиться с интерактивным примером кода можно тут.
#currency #forex_python
❤3
Получение геолокации по IP с использованием ip2geotools
Недавно я обнаружил увлекательный пакет
Пример кода для получения информации по IP с использованием класса
Этот код использует метод
#python #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
🔥4👍3😱3❤1
Использование внешних процессов в Python с помощью subprocess
В мире программирования бывают моменты, когда необходимо взаимодействовать с внешними программами из кода на
Что такое
Пример использования
В данном примере мы использовали
Передача данных и получение результата:
В данном примере мы использовали команду
#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
👍6❤2
Деструкторы
При уничтожении экземпляра класса в большинстве языков вызывается специальный метод, который называется деструктор.
В Python деструктор можно переопределять с помощью магического метода
Вообще деструкторы крайне редко переопределяется в Python, но полезно знать, что именно эти методы отвечают за очистку при удалении объекта.
#классы
При уничтожении экземпляра класса в большинстве языков вызывается специальный метод, который называется деструктор.
В Python деструктор можно переопределять с помощью магического метода
__del__
, который вызовется автоматически при удалении объекта.Вообще деструкторы крайне редко переопределяется в Python, но полезно знать, что именно эти методы отвечают за очистку при удалении объекта.
#классы
❤3
dateparser
Обратите внимание, что
#python #dateparser
dateparser
— это библиотека Python
, предоставляющая удобные инструменты для разбора и анализа текстовых дат и времени. Она автоматически определяет формат даты и времени в текстовой строке и преобразует его в объект datetime
. Это особенно полезно, когда у вас есть текстовые описания дат и времени в различных форматах, и вы хотите их структурировать.Обратите внимание, что
dateparser
может использовать текущие локальные настройки для определения форматов даты и времени, поэтому результаты могут зависеть от настроек вашей системы. Вы также можете явно указать нужную локаль с помощью аргумента locales
, если это необходимо.#python #dateparser
👍5
⚡️ Мы сделали нового книжного бота — он гораздо быстрее по скорости, в нем в 4 раза больше книг, исправлена ошибка с форматами, теперь есть все форматы, включая PDF
В случае блокировки этого бота тот бот будет жить, срочно сохраняйте нового бота, чтобы читать все книги мира: @flibustatopbot
В случае блокировки этого бота тот бот будет жить, срочно сохраняйте нового бота, чтобы читать все книги мира: @flibustatopbot
👎4👍1
Работа с методом str.replace() в Python
Метод принимает два основных аргумента: первый - это подстрока, которую нужно заменить в исходной строке, а второй - это подстрока, на которую происходит замена.
Кроме того, существует третий необязательный аргумент, определяющий количество замен старой подстроки на новую. Если он не указан, метод заменяет все вхождения.
#python #replace
Python
предлагает множество удобных встроенных методов для работы со строками. Один из таких методов - str.replace()
, который используется для замены частей строки.Метод принимает два основных аргумента: первый - это подстрока, которую нужно заменить в исходной строке, а второй - это подстрока, на которую происходит замена.
Кроме того, существует третий необязательный аргумент, определяющий количество замен старой подстроки на новую. Если он не указан, метод заменяет все вхождения.
#python #replace
👍3
Работа с PDF файлами используя PyPDF2
В этом посте, вы узнаете, как работать с PDF-файлами в Python.
Пример кода:
В этом примере мы открываем PDF-файл, используя PyPDF2, извлекаем информацию о количестве страниц и тексте с первой страницы. Затем мы создаем новый PDF-файл, добавляем в него первую страницу и сохраняем его под именем "new_document.pdf".
PyPDF2 - это мощный инструмент для работы с PDF-документами в Python. Он предоставляет возможности для чтения, создания и манипулирования PDF-файлами, что делает его отличным выбором для автоматизации задач, связанных с обработкой документов в этом формате.
#python #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
👍1