Python Skills 🐍
303 subscribers
1.02K photos
17 videos
302 links
Канал полезного и юмористического контента на тему программирования, в частности такого языка как Python.

По всем вопросам: @andrey_andrey01
Download Telegram
Библиотека subprocess

Данная библиотека как ни странно, помогает работать с процессами. С ней можно, к примеру, вызвать какое-то приложение. Пусть это будет командная строка.

Кроме этого, можно проверить ответ от какого-то сайта. Делается это через расчет ping.

Про еще большее количество возможностей расскажем в следующем посте.
Находим опечатки в тексте

Полезный пакет spellchecker позволяет находить опечатки в тексте и даже дает возможные варианты исправлений.

Под капотом модуль использует алгоритм расстояния Левенштейна. А сам код основан на статье, написанной в блоге Питера Норвига. Короче, реализация интересная, советую поизучать.

Но даже если не вникать в подробности, то пакет использовать крайне легко. Примеры использования класса SpellChecker и его методов correction и candidates показаны на картинке.

Пакет поддерживает 6 языков, включая русский. Но за подробностями отправляю вас читать документацию.

#spellchecker
Что выведет код выше?
Anonymous Poll
10%
10
0%
45
80%
None
0%
Error
10%
Узнать Ответ
​​Хакер взломал мошенников, пытавшихся вымогать у него деньги. И показал им изображение с их же веб-камеры 😅

Сотрудники мошеннического колл-центра в Индии попали не на ту жертву — они связались с YouTube-блогером, построившим карьеру на «охоте» за вымогателями.

По словам блогера, он столкнулся с «примитивным» видом мошенничества: электронным письмом, сообщающим о сделанном заказе на Amazon, который пользователь точно не делал. Там же указывается номер службы возврата, который перенаправляет в индийский колл-центр. Scambaiter(Никнейм блогера) обернул схему против злоумышленников. Он вычислил IP-адрес звонивших, узнал расположение колл-центра и даже нашёл в файлах компьютера удостоверения двух сотрудников, а также документ со сценарием вымогательства денег. Так блогер вышел на страницу сотрудника колл-центра в фейсбуке, узнав подробности его жизни.

Хакер продолжил «поддаваться» мошеннику на другом конце провода, притворяясь наивной жертвой, но в то же время взломал веб-камеру компьютера злоумышленника и вывел её на свой ноутбук. Когда пришло время поделиться доступом к компьютеру, два сотрудника колл-центра увидели изображение со своей веб-камеры на экране. 🤣

Злоумышленник сразу попытался скрыться от веб-камеры, но Scambaiter начал говорить ему: «Я знаю всё о тебе, я знаю, чем ты занимаешься, я знаю про твою компанию. Я вижу вас прямо сейчас, давайте, ответьте на пару вопросов, будьте честны со мной». Но вымогатели не ответили и в какой-то момент просто сбежали позвав коллег. Те же пытались выключить веб-камеру, в то же время выслушивая шутки от Scambaiter.

Не на того напали 😎

#news
Каким будет результат выполнения кода?
Anonymous Poll
13%
Jam
13%
dno
50%
maJ
0%
dnoB semaJ
25%
Узнать ответ
Библиотека subprocess

Самый функциональный класс в данной библиотеке - Popen. Он так же позволяет выполнять дочерние программы в новых процессах, но позволяет намного гибче с ними взаимодействовать.

К примеру если у вас сервер на линукс, о обязательно установлен python 2. Приведенный ниже код заменит интерпретатор python 2 на современную версию python 3:
'test.py'], executable='python3')

Мы можем так же сохранить весь ввод и ошибки или перенаправить их прямо в файл для сохранения. А можно заставить выполняться процесс в фоновом режиме или дождаться ее завершения. Последние две возможности можно использовать асинхронно с asyncio.

Обычно Popen не ждет завершения процесса, используйте wait, чтобы избежать этого.
⚡️ Асинхронное программирование

Асинхронное программирование — довольно удобная вещь для оптимизации программы, особенно если она часто работает с запросами, связанные с записью или чтением диска.

Суть ассинхронного программирования такова — пока выполняется что-то одно, долгое, программа не останавливается, а продолжает выполнять свои задачи.

Для примера — пока вы ждёте приготовление торта (ожидание ответа от сервера) вы можете расставить тарелки (подготовка данных).

Самая популярная библиотека для данных задач — asyncio. Скачать её можно по следующей команде:

pip install asyncio
Топ. Изменяемые vs. неизменяемые объекты в Python

Рассматриваем на примерах кода, чем отличаются изменяемые и неизменяемые типы данных.

Читать статью

#топ #строки #списки
Теперь надо решить какая реализация Python всё-таки лучшая
Делаем планировщик задач

К моему удивлению, далеко не все знают про пакет schedule, который позволяет планировать задачи и повторять их через промежуток времени.

Основной его плюс в том, что он максимально интуитивный и имеет гибкий функционал. А еще schedule не требует внешних зависимостей и сам в целом легковесный.

Здесь на самом деле даже объяснять особо нечего, логика методов в этом пакете понятна на примерах.

#schedule