TGINSIGHT CHAT
Python Academy
@python_academy
EducaciónPython Academy — один канал вместо тысячи учебников Чат канала: @python_academy_chat Сотрудничество: @zubar89 Канал включён в перечень РКН: https://rkn.link/TVu
Posts recientes
Pág. 27 de 85 · 1,014 posts
Вычисление размера объектов Для вычисления размера объекта мы можем использовать функцию getsizeof(object[, default]) из модуля sys. Так как в python все по сути является объектами, то и вычислить размер в памяти мы можем у любого такого объекта. И хотя все built-in (встроенные) объекты и вернут правильный размер, в общем случае это не должно быть верно для каких-либо пользовательских объектов. Аргумент default позволяет определить значение, которое будет возвращено, если тип объекта не предоставляет средства для извлечения размера и вызовет TypeError . Функция getsizeof вызывает метод __sizeof__ объекта и добавляет дополнительные служебные данные сборщика мусора. #getsizeof
Hashtags
Запись экрана в Windows с помощью Python Для записиэкрана в Windows используя Python существует несколько библиотек, однако наиболееэффективной оказалась d3dshot. Библиотека d3dshot использует системные библиотеки DXGI и Direct3D для быстрого и надежного захвата экрана. Эта библиотека идеальноподходит для создания игровых ботов. #python#d3dshot
Вызов программ операционной системы sh — это полноценный интерфейс, как альтернатива subprocess, который позволяет вызывать любую программу, как если бы это была обычная функция. Все запускаемые команды импортируются, как обычные функции, но функциями не являются, а лишь динамически обращаются к командам системы. Таким образом мы можем по сути обратиться к любой программе в системе. sh полагается на системные вызовы Unix и работает только в Unix-подобных операционных системах, т.е. данный модуль не подойдет для работы с Windows. Для обращения к командам программы и передать набор аргументов команды, мы можем передать их как обычные аргументы функции. Также в модуле реализована функция which, которая находит полный путь до программы либо возвращает None, если программа не найдена. #sh
Hashtags
Установление SSH-соединения с сервером Библиотека paramiko предоставляет возможность подключения к серверам через протокол SSH2, позволяя выполнять те же действия, что и при использовании стандартной утилиты ssh в Linux. Модуль paramiko отличается простотой в использовании, и вы можете ознакомиться с примерами его основных методов на представленном изображении. В качестве любопытного факта, название Paramiko происходит от слияния слов "параноик" и "друг" на языке эсперанто. Для установки пакета используйте менеджер пакетов pip в привычном порядке. Подробную документацию можно найти здесь. #python#paramiko#ssh
Оптимизация Памяти в Python с Библиотекой gc Если вы заботитесь о производительности ваших 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
Hashtags
Получаем метаданные из аудиофайла Для извлечения метаданных из аудиофайлов, а также их редактирования есть очень удобный модуль mutagen. Модуль позволяет получить всю основную информацию об аудиофайле: длину, битрейт, исполнителя и так далее. Модуль поддерживает форматы метаданных APEv2 и ID3v2, анализируя все кадры ID3v2.4 (посмотреть все нужные теги ID3v2 можно тут). #audio#mutagen
Скачиваем видео с YouTube Пакет pytube предоставляет всю небходимую функциональность для скачивания видео с YouTube, а также для сбора всей информации о нем. Для работы нам необходимо создать объект класса YouTube. Помимо ссылки на видео в конструктор можно передать в качестве параметров функции для обработки прогресса загрузки и завершения. Большинство видео на ютубе не имеют аудиодорожки на потоках с высоким разрешением, свыше 720p — это связано с технологией передачи DASH, которую использует YouTube. На картинке мы показали как отфильтровать потоки с прогрессивной передачей и выбрать из полученного списка с максимальным доступным разрешением до 720p. Для загрузки выбранного потока используем функцию download(), в функцию можно передать в качестве параметров путь до директории для сохранения и имя файла. #python#youtube
Важное про цифры и Юникод 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 — не единственные символы, которые считаются цифрами. Python следует правилам Юникода и обрабатывает несколько сотен символов как цифры. Полный список находится здесь. Это крайне важно знать, потому что эти символы влияют на такие функции, как int, unicode.isdecimal и даже re.match. Думаю, в один момент это знание сэкономит вам время на исправление "бага" с такими странными символами. Предупрежден — значит вооружен. #числа#юникод
Красивый вывод таблиц Недавно нам понадобилось логировать часть базы данных. И тут мы вспомнили про прекрасный модуль prettytable, который позволяет красиво выводить таблицы. Итак, имена столбцов задается с помощью атрибута table.field_names. А добавлять строки с данными в таблицу можно методом table.add_row([]), передавая туда список элементов. Но даже если вы не фанат командной строки, то иногда нужно сохранить отчет о работе вашей программы в текстовый файл. В таком случае можно сохранить саму таблицу, вызвав метод table.get_string(). #трюки#prettytable
Hashtags
Автоматизация мобильных приложений с помощью uiautomator2 Сегодня мы поговорим о библиотеке uiautomator2, которая предоставляет мощные инструменты для автоматизации тестирования и взаимодействия с мобильными приложениями на платформе Android. Эта библиотека может пригодиться для создания автотестов, скриптов для тестирования пользовательского интерфейса, и многих других задач, связанных с мобильной разработкой. Что такое uiautomator2? uiautomator2 - это Python-библиотека, предоставляющая возможность управления устройствами Android и взаимодействия с приложениями на них. Она основана на Google's Android Testing Support Library и является мощным инструментом для автоматизации действий на устройствах Android. С uiautomator2, вы можете выполнять действия, такие как нажатие кнопок, ввод текста, чтение содержимого экрана устройства и многое другое, что делает ее полезной для автоматизации тестирования мобильных приложений. #python#uiautomator2#автоматизация
Создание QR-кода с помощью qrcode инструмента Воспользуйтесь этим простым, но эффективныминструментом для генерации QR-кодов. Для рисования изображений необходима библиотека Pillow, так что проверьте ее наличие перед началом работы. Для получения изображения с QR-кодом достаточно использовать метод make(), передав ему нужныеданные. Сохранить результат можно с помощью методаsave(), примененного к созданному объекту изображения. Помимо этого, инструмент предлагает возможностьинтеграции изображений в QR-коды и поддерживаетшесть различных стилей оформления. Более подробную информацию, включая продвинутые примеры использования, вы найдете в официальнойдокументации по ссылке. #qrcode
Hashtags
Создание и использование виртуальной среды virtualenv — инструмент для создания изолированных сред Python. Программа создает папку, которая содержит все необходимые исполняемые файлы для использования пакетов, необходимых для проекта. Создание новой виртуальной среды требуется только один раз для каждого проекта, для которого вы хотите изолировать зависимости: python3 -m venv venv Это создаст папку venv, содержащую оснастку сценариев и копию python самого двоичного файла. Название папки не имеет значения. Чтобы активировать виртуальную среду, нужно запустить activate файл: source venv/bin/activate и далее мы можем свободно устанавливать любые зависимости, которые никак не скажутся на работе в будущих проектах. #python#virtualenv
Hashtags