TGINSIGHT CHAT
Python Academy
@python_academy
EducaciónPython Academy — один канал вместо тысячи учебников Чат канала: @python_academy_chat Сотрудничество: @zubar89 Канал включён в перечень РКН: https://rkn.link/TVu
Posts recientes
Pág. 80 de 85 · 1,014 posts
Легкий веб-фреймворк Bottle – это быстрый, простой и легкий микро-веб-фреймворк WSGI для Python. Он распространяется как единый файловый модуль и не имеет никаких зависимостей, кроме стандартной библиотеки Python. Несмотря на свою минималистичность, Bottle предоставляет довольно широкие возможности, которых на 100% хватает для мелких и средних проектов. Вот список основных возможностей: routing, templates, POST-routing, обработка форм, cookies и сервер. После запуска подобного примера можете перейти в браузере по адресу localhost:5000/hello/world и посмотреть на результат, полученный из всего пяти строк кода. #фреймворки#bottle
Hashtags
Генераторные выражения и списковые включения В примере выше первая и вторая строчки очень похожи, но различаются видами скобок. В списковом включении они квадратные, а в генераторном выражении – круглые. Если вывести переменные, то видим, что значением переменной l является список, а переменная g хранит в себе объект генератора. И здесь возникает вопрос, что же использовать. Нужен результат, например в виде списка, прямо сейчас для дальнейшего выполнения программы — используйте генераторы коллекций. А если же значения понадобятся еще не скоро или неизвестно, понадобится ли они вообще, то предпочтительнее генераторы, чтобы не занимать лишнюю память и не нагружать систему. #генераторы
Hashtags
Официальное упорядочивание словарей Кстати, Python 3.7 на официальном уровне зафиксировал соответствие порядка перебора элементов словарей порядку их добавления. Но для некоторых это не такая уж и новость, так как и в Python 3.6 словари уже были упорядочены, что видно на примере выше. Однако это был просто побочный результат реализации, не зафиксированный в стандарте. Новый Python оформил его официально. Теперь можно быть уверенным в сохранении порядка вставки. #словари
Hashtags
Получаем текст с картинки У Google есть система Tesseract, которая позволяет парсить текст с картинок с помощью оптического распознавания символов. И в качестве обертки над их системой, был создан пакет pytesseract, который максимально удобно и легко использовать. Для того, чтобы получить текст с картинки, нужно вызвать метод image_to_string. Если вас интересует текст на русском, то следует указать аургмент lang как 'rus'. Еще важно, что для открытия картинок рекомендуется использовать pillow, хоть и имеется возможность просто указать путь к файлу в виде строки. #pytesseract
Hashtags
Missingno Большие грязные наборы данных и часто отсутствующие значения в них — это одна из частых проблем при работы с датасетами, и это важно отлавливать такие моменты. Для таких целей существует Missingo — библиотека, которая имеет в себе небольшой набор простых в использовании средств для визуализации отсутствующих данных и утилит, которые позволяют быстро получить сводку полноты или отсутствия вашего набора данных. Интерактивный пример — тут. #Missingo
Hashtags
Определение литеральных типов Когда нам может понадобится определить из полученной строки литеральный тип (строки, числа, списки, кортежи, словари, логические значения и None), мы можем воспользоваться функцией literal_eval() из модуля ast. Данная функция поможет безопасно определить литеральный тип, а в случае если был передан не литерал, то выбросит исключение. Это можно использовать для оценки выражений из внешних источников при парсинге файлов, либо пользовательского ввода. #ast#literal_eval
Hashtags
Работаем с картинками в Python Библиотека Pillow — это очень мощный, быстрый и удобный инструмент для обработки графики в Python. В сегодняшнем примере мы применим ее для конвертации картинки в черно-белую, обратим цвета, вертикально отзеркалим и сохраним в файл. Метод Image.open('resources/img/cat.jpg') считывает картинку из папки. img.convert('L') трансформирует картинку в черно-белую. ImageOps.invert(image) обращает цвета. img.transpose(Image.FLIP_LEFT_RIGHT) вертикально отзеркаливает картинку. img.save('grayscale_cat.jpg') сохранит картинку на диске. Больше официальных примеров и документацию можно посмотреть тут. Пример можно посмотреть тут. #pillow
Hashtags
Конвертируем файлы в аудио-формате В Python мы можем решить задачу конвертации из одного аудио-формата в другой как всегда множеством способов. Наиболее приятным решением, как по мне, является использование модуля pydub, который представляет собой интерфейс-надстройку над ffmpeg. pydub позволяет загружать, редактировать и сохранять аудио-файлы в любом формате, поддерживаемом ffmpeg. Для загрузки файла нам нужно выбрать функцию from_ c соответствующим форматом в названии из класса AudioSegment. Также можно воспользоваться наиболее общей функцией from_file, передав путь к файлу и его формат. Для экспорта файла с нужным форматом, в который мы хотели его сконвертировать, используем функцию export у полученного после загрузки файла объекта класса AudioSegment. #audio#pydub
Списковые включения На основе итерируемых объектов можно удобно и без циклов строить списки в одну строчку — такой синтаксис называется списковыми включениями. Сейчас подробнее разберем именно списки, но по такому же принципу можно создавать и словари. В квадратных скобках вы пишите самую обычную конструкцию цикла for, но само выражение ставите перед ключевым словом for. Также можно добавлять условия в конце записи. Как правило, списковые включения работают заметно быстрее, чем циклы. Однако, злоупотреблять этим не рекомендуется, так как это зачастую снижает читаемость кода. #списки#словари
Аргументы командой строки При запуске программ через терминал можно указывать аргументы через пробел. В Python список этих аргументов хранится в переменной argv во встроенном модуле sys. Первым элементом всегда является имя запускаемого скрипта, вторым и далее — непосредственно сами аргументы. #sys
Hashtags
Делаем планировщик задач К моему удивлению, далеко не все знают про пакет schedule, который позволяет планировать задачи и повторять их через промежуток времени. Основной его плюс в том, что он максимально интуитивный и имеет гибкий функционал. А еще schedule не требует внешних зависимостей и сам в целом легковесный. Здесь на самом деле даже объяснять особо нечего, логика методов в этом пакете понятна на примерах. #schedule
Hashtags
Воспроизводим аудиофайлы Для этого воспользуемся кроссплатформенным пакетом playsound, который легко устанавливается через pip. Он содержит в себе лишь одну полезную функцию для воспроизведения аудиофайла: playsound('path/to/file.mp3') В качестве параметра функции можно указать путь к .mp3 или .wav файлу, или вообще его url. #audio
Hashtags