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

По всем вопросам: @andrey_andrey01
Download Telegram
Что выведет код выше?
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
Каким будет результат выполнения кода?
Anonymous Poll
8%
1
31%
76
38%
Error
15%
ничего
8%
Узнать ответ
Библиотека subprocess

И в заключение покажем интересную и в некотором роде полезную программу, которая показывает все wi-fi сети.

Мы еще не использовали check_output, он выполняет команду и возвращает ее вывод. Похожее мы уже проделывали в прошлом посте.

Не забывайте, что иногда требуется остановить или даже "убить" процесс. Это делается методами класса Popen, а именно terminate() и kill().

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

Все знают как получать значения у словаря. Делается это почти так же, как и у списков. В квадратных скобках мы указываем ключ, по которому находим значение. Ключом может быть строка или число. Надеюсь все это знают, а кто нет смотрите код выше.

Но все забывают про еще один способ получения метод get. Иногда он очень удобен. Вторым аргументом вы можете подставить значение, которое выведется, если элемент не найден, в старом же случае будет ошибка. Выглядит примерно так:
 None)

Но если вы считаете, что перед получением необходимо провести проверку, то вы правы лишь частично. Всё зависит от задачи.

Правильно используйте инструменты.
Так только у меня? 🌚