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
Привет!
Вчера в Риме прошла совместная акция группы российских активистов в Италии Russi Contro La Guerra и ФБК - акция за запрет выступления Валерия Гергиева в Казерте, запланированного на 27 июля.
Акция вызвала живой интерес у прохожих, как итальянцев, так и иностранцев. Проходившие мимо группы российских туристов одобрительно кивали но старались не задерживаться, возле "нежелательных" для Российской Федерации, материалов. Репрессии режима возможны за любое несогласие.
⚪ Журналист из La Repubblica подробно расспрашивал, что же не так с Гергиевым. Мы рассказали о том, что талантливый дирижёр является "агентом" режима и всегда поддерживал аннексию Крыма и агрессию РФ в Украину.
Теперь ждём публикации.
Ждём вас всех в следующее воскресенье 27 июля к 19:00 в Казерте.
‼️ Нельзя позволить этому концерту пройти, как ни в чем не бывало!
#unestatedare#unestatedascagnozzodelre#russicontrolaguerra#vocidellarussia#gergiev#culturarussa#musicadellaguerra#dirittiumani#propaganda#stoppropagandarussa
- Все это время мы были в постоянном контакте с местной полицией, отвечавшей за безопасность протестующих.
Этим утром нам сообщили новости о том, что концерт Гергиева в Казерте отменен! Наша совместная кампания и общая координация сработала. Мы считаем это общей победой, которая доказывает, что все возможно, когда активисты объединяются ради единой цели, а демократия в стране дает им возможность выразить свое мнение❤️
Но мы не расслабляемся! Приезд Гергиева в Италию – лишь одна из многочисленных попыток российских пропагандистов вернуться в европейское информационное поле. Мы считаем, что люди, зарабатывающие деньги на репрессиях анти-военных россиян и на убийствах украинцев, должны нести ответственность за свои действия. Именно поэтому мы будем настаивать, чтобы Италия внесла Гергиева в свои санкционные списки.
#unestatedare#unestatedascagnozzodelre#russicontrolaguerra#vocidellarussia#radicaliitaliani#gergiev#culturarussa#musicadellaguerra#dirittiumani#propaganda
Il nostro compito è smascherare questa menzogna. Non censuriamo la musica classica, ma ci opponiamo a chi per decenni ha servito Putin e ora vuole incassare soldi e applausi in Italia usando Šostakovič e Rachmaninov! Non permetteremo che la propaganda putiniana penetri ancora una volta in Europa sotto le spoglie di eventi culturali.
😡 Per anni Valerij Gergiev ha dato concerti letteralmente tra le rovine bombardate di Siria, Ucraina e Georgia. Ora arriva al festival “Un’Estate da Re” 🎵 di Caserta per presentare lo Stato russo come qualcosa di grande e sublime, continuatore della tradizione culturale russa. Ma lo Stato russo non ha niente a che fare con la vera cultura e la vera arte, perchè non ha niente a che fare con l'approccio umanistico e l'empatia. Lo Stato russo oggi sa solo uccidere, reprimere e mentire💥.
📢 Invitiamo tutti coloro a cui importa che il direttore d’orchestra di Putin porti in UE i suoi soldi di propaganda a unirsi a noi: la vera cultura è di manifestare contro le violenti stragi in Ucraina e le repressioni in Russia, e difendere i valori umani, dove le vite di vicini e cittadini entrambi contano veramente.
#unestatedare#unestatedascagnozzodelre#russicontrolaguerra#vocidellarussia#radicaliitaliani#gergiev#culturarussa#musicadellaguerra#dirittiumani#propaganda
❗️ВЫХОДИТЕ С RUSSI CONTRO LA GUERRA ПРОТИВ ВЫСТУПЛЕНИЯ ГЕРГИЕВА В ЕВРОПЕ❗️
📆 Дата и время: 27 июля, 19:00-21:00
📍Место: Piazza Carlo di Borbone, напротив входа в Reggio di Caserta
👔👗Дресс-код: Вечерний. Приходите нарядными, не стесняйтесь прихватить с собой перчатки и вееры! Мы устроим свое культурное событие
Митинг против выступления Валерия Гергиева — "Дирижера путинской войны" состоится 27 июня в городе Caserta, регион Кампания🇮🇹 с 19:00 напротив Королевского Дворца Казерты.
Мы, антивоенные россияне из Russi Contro la Guerra⚪️🔵⚪️,
не можем стоять в стороне, когда путинский пропагандист на деньги от налогоплательщиков ЕС оправдывает авторитарный милитаристский режим, прикрываясь ширмой русского искусства, и оправдывает кровавую путинскую диктатуру, прикрываясь нашим культурным наследием 🏛. Но именно мы, антивоенные россияне должны показать лживость этой параллели. Мы не цензурируем классическое искусство, но мы против тех, кто на протяжении десятилетий прислуживал Путину, и теперь хочет собирать овации и деньги в Италии, прикрываясь Шостаковичем и Рахманиновым! Мы не допустим, чтобы путинская пропаганда проникала в Европу снова и снова под видом культурных событий.
😡 На протяжении многих лет Валерий Гергиев играл на руинах разбомбленных городов Сирии, Украины и Грузии. И теперь он приехал на музыкальный фестиваль “Un’estate da Re” 🎵 в Казерте, чтобы представлять итальянцам современное российское государство как что-то великое и прекрасное, что-то, что продолжает традицию русской культуры. Но мы должны опровергнуть этот тезис и разорвать связь между действительно качественным искусством и путинизмом.
📢 Поэтому мы призываем всех, кому небезразлично, что путинский дирижёр вывозит свои пропагандистские деньги в ЕС, притворяясь светской фигурой, прийти на митинг, чтобы показать, что настоящая культура — это выступать против убийств в Украине и репрессий в России.
#unestatedare#unestatedascagnozzodelre#russicontrolaguerra#vocidellarussia#radicaliitaliani#gergiev#culturarussa#musicadellaguerra#dirittiumani#propaganda#stoppropagandarussa