Библиотека subprocess
Самый функциональный класс в данной библиотеке - Popen. Он так же позволяет выполнять дочерние программы в новых процессах, но позволяет намного гибче с ними взаимодействовать.
К примеру если у вас сервер на линукс, о обязательно установлен python 2. Приведенный ниже код заменит интерпретатор python 2 на современную версию python 3:
Обычно Popen не ждет завершения процесса, используйте wait, чтобы избежать этого.
Самый функциональный класс в данной библиотеке - Popen. Он так же позволяет выполнять дочерние программы в новых процессах, но позволяет намного гибче с ними взаимодействовать.
К примеру если у вас сервер на линукс, о обязательно установлен python 2. Приведенный ниже код заменит интерпретатор python 2 на современную версию python 3:
'test.py'], executable='python3')
Мы можем так же сохранить весь ввод и ошибки или перенаправить их прямо в файл для сохранения. А можно заставить выполняться процесс в фоновом режиме или дождаться ее завершения. Последние две возможности можно использовать асинхронно с asyncio. Обычно Popen не ждет завершения процесса, используйте wait, чтобы избежать этого.
⚡️ Асинхронное программирование
Асинхронное программирование — довольно удобная вещь для оптимизации программы, особенно если она часто работает с запросами, связанные с записью или чтением диска.
Суть ассинхронного программирования такова — пока выполняется что-то одно, долгое, программа не останавливается, а продолжает выполнять свои задачи.
Для примера — пока вы ждёте приготовление торта (ожидание ответа от сервера) вы можете расставить тарелки (подготовка данных).
Самая популярная библиотека для данных задач — asyncio. Скачать её можно по следующей команде:
Асинхронное программирование — довольно удобная вещь для оптимизации программы, особенно если она часто работает с запросами, связанные с записью или чтением диска.
Суть ассинхронного программирования такова — пока выполняется что-то одно, долгое, программа не останавливается, а продолжает выполнять свои задачи.
Для примера — пока вы ждёте приготовление торта (ожидание ответа от сервера) вы можете расставить тарелки (подготовка данных).
Самая популярная библиотека для данных задач — asyncio. Скачать её можно по следующей команде:
pip install asyncio
Топ. Изменяемые vs. неизменяемые объекты в Python
Рассматриваем на примерах кода, чем отличаются изменяемые и неизменяемые типы данных.
Читать статью
#топ #строки #списки
Рассматриваем на примерах кода, чем отличаются изменяемые и неизменяемые типы данных.
Читать статью
#топ #строки #списки
Делаем планировщик задач
К моему удивлению, далеко не все знают про пакет
Основной его плюс в том, что он максимально интуитивный и имеет гибкий функционал. А еще
Здесь на самом деле даже объяснять особо нечего, логика методов в этом пакете понятна на примерах.
#schedule
К моему удивлению, далеко не все знают про пакет
schedule
, который позволяет планировать задачи и повторять их через промежуток времени. Основной его плюс в том, что он максимально интуитивный и имеет гибкий функционал. А еще
schedule
не требует внешних зависимостей и сам в целом легковесный. Здесь на самом деле даже объяснять особо нечего, логика методов в этом пакете понятна на примерах.
#schedule
Каким будет результат выполнения кода?
Anonymous Poll
8%
1
31%
76
38%
Error
15%
ничего
8%
Узнать ответ
Библиотека subprocess
И в заключение покажем интересную и в некотором роде полезную программу, которая показывает все wi-fi сети.
Мы еще не использовали check_output, он выполняет команду и возвращает ее вывод. Похожее мы уже проделывали в прошлом посте.
Не забывайте, что иногда требуется остановить или даже "убить" процесс. Это делается методами класса Popen, а именно terminate() и kill().
С данным модулем можно выполнить очень много полезных действий, которые недоступны интерпретатору Python при других путях решения.
И в заключение покажем интересную и в некотором роде полезную программу, которая показывает все wi-fi сети.
Мы еще не использовали check_output, он выполняет команду и возвращает ее вывод. Похожее мы уже проделывали в прошлом посте.
Не забывайте, что иногда требуется остановить или даже "убить" процесс. Это делается методами класса Popen, а именно terminate() и kill().
С данным модулем можно выполнить очень много полезных действий, которые недоступны интерпретатору Python при других путях решения.
Получить значение у словаря
Все знают как получать значения у словаря. Делается это почти так же, как и у списков. В квадратных скобках мы указываем ключ, по которому находим значение. Ключом может быть строка или число. Надеюсь все это знают, а кто нет смотрите код выше.
Но все забывают про еще один способ получения метод get. Иногда он очень удобен. Вторым аргументом вы можете подставить значение, которое выведется, если элемент не найден, в старом же случае будет ошибка. Выглядит примерно так:
Правильно используйте инструменты.
Все знают как получать значения у словаря. Делается это почти так же, как и у списков. В квадратных скобках мы указываем ключ, по которому находим значение. Ключом может быть строка или число. Надеюсь все это знают, а кто нет смотрите код выше.
Но все забывают про еще один способ получения метод get. Иногда он очень удобен. Вторым аргументом вы можете подставить значение, которое выведется, если элемент не найден, в старом же случае будет ошибка. Выглядит примерно так:
None)Но если вы считаете, что перед получением необходимо провести проверку, то вы правы лишь частично. Всё зависит от задачи.
Правильно используйте инструменты.
Каким будет результат выполнения кода?
Anonymous Poll
50%
7
6%
data
0%
user
31%
Error
13%
Узнать ответ