Python + bash
Если вам часто требуется запускать shell команды из Python-кода, какой способ вы используете?
Самый низкоуровневый это функция os.system(), либо os.popen(). Рекомендованный способ это subprocess.call(). Но это всё еще достаточно неудобно.
Советую обратить своё внимание на очень крутую библиотеку sh.
Что она умеет?
🔸 удобный синтаксис вызова команд как функций
# os
import os
os.system("tar cvf demo.tar ~/")
# subprocess
import subprocess
subprocess.call(['tar', 'cvf', 'demo.tar', '~/'])
# sh
import sh
sh.tar('cvf', 'demo.tar', "~/")
🔸 простое создание функции-алиаса для длинной команды
fn = sh.lsof.bake('-i', '-P', '-n')
output = sh.grep(fn(), 'LISTEN')
в этом примере также задействован пайпинг
🔸 удобный вызов команд от sudo
with sh.contrib.sudo:
print(ls("/root"))
Такой запрос спросит пароль. Чтобы это работало нужно соответствующим способом настроить юзера.
А вот вариант с вводом пароля через код.
password = "secret"
sudo = sh.sudo.bake("-S", _in=password+"\n")
print(sudo.ls("/root"))
Это не все фишки. Больше интересных примеров смотрите в документации.
Специально для Windows💀 юзеров
#libs#linux
🎨IV Открытый творческий конкурс «Архитектура дипломатии»
📢Внимание, молодые таланты! ГлавУпДК при МИД России объявляет международный конкурс «Архитектура дипломатии»!
👩🎨 Приглашаем участников от 12 до 35 лет представить своё видение дипломатии сквозь века.
🏆 Лучшие работы получат призы и памятные подарки!
📅 Приём заявок – до 12 мая 2025 года.
🔗 Подробности: clck.ru/3GNtGt
@rossotrudnichestvo@rusembgreece@MID_Russia
#АрхитектураДипломатии#Конкурс2025#МолодыеХудожники#Дипломатия#Искусство#ГлавУпДК#МИДРоссии#КонкурсДляМолодежи#ArtContest
Победители 💥💥💥 конкурса #ibeff_online 2023 в номинации
«ФОТОГРАФИЯ»
🥇1 место - «Белые пряхи». Елена Яковенко (г. Балашиха)
Портфолио👇https://etnomodno.com/collections/white-…
🥈2 место. «Золотая флора». Михаил Поляков (г. Санкт-Петербург)
Портфолио👇https://etnomodno.com/collections/golden…
🥉3 место. «Узор». Евгения Семерок (г. Санкт-Петербург)
Портфолио👇https://etnomodno.com/collections/uzor-p…
Поздравляем замечательных фотографов 🤗🎉🎉👏👏
#ibeffFashionContest#ibeff_online#ETNOMODA#ArtContest#DesignersContest#Этномода#ВиртуальныйКонкурсДизайнеров#победители2023
#ibeff_online2023
#etnomoda2023
#онлайнконкурсмодельеров
#этномода
Внимание, Внимание....💥💥💥
Объявляем победителей конкурса #ibeff_online 2023 в номинации «PRET-A-PORTER»:
🥇1 место - «Коллекция молодежной одежды в стиле апсайклинг». Василина Якшина @Vasilina_linaa (г. Калининград)
Портфолио👇https://etnomodno.com/collections/upcycl…
🥈2 место - «Стирая границы с природой». Анна Семененко (г. Санкт-Петербург)
Портфолио👇https://etnomodno.com/collections/mergin…
🥉3 место - «Отаку». Елена Петрова (г. Гатчина)
Портфолио👇https://etnomodno.com/collections/otaku/
Поздравляем победителей!!!!
#ibeffFashionContest#ibeff_online#ETNOMODA#ArtContest#DesignersContest#Этномода#ВиртуальныйКонкурсДизайнеров#победители2023
#ibeff_online2023
#etnomoda2023
#онлайнконкурсмодельеров
#этномода
Внимание, внимание....💥💥💥
Объявляем победителей конкурса #ibeff_online 2023 в номинации «ЭТНОМОТИВЫ В СОВРЕМЕННОЙ МОДЕ»:
🥇1 место - «Наследие». Ольга Корочкина (г. Москва)
Портфолио👇https://etnomodno.com/collections/herita…
🥈2 место - «Узор». Евгения Семерок (г. Санкт-Петербург)
Портфолио👇https://etnomodno.com/collections/uzor/
🥉3 место - «Артизан». Екатерина Сохарева (г. Иваново)
Портфолио👇https://etnomodno.com/collections/artisa…
Поздравляем победителей!!!!
#ibeffFashionContest#ibeff_online#ETNOMODA#ArtContest#DesignersContest#Этномода#ВиртуальныйКонкурсДизайнеров#победители2023
#ibeff_online2023
#etnomoda2023
#онлайнконкурсмодельеров
#этномода