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
🕯️Траурный митинг: День скорби по жертвам российской агрессии
24 февраля 2026 года исполняется четыре года с начала полномасштабного вторжения России в Украину. Присоединяйтесь к нашей акции, чтобы почтить память погибших и поддержать тех, кто продолжает бороться за свободу Украины.
🤩 Мы соберёмся, чтобы выразить единство в противостоянии российской агрессии и скорбь по жертвам войны в Украине и в России.
🤩 Кремлёвский режим унёс сотни тысяч жизней, уничтожает мирных жителей, военнопленных, гражданских активистов и политзаключённых. Мы скорбим со всеми, кто потерял близких, покинул дом, оказался в плену или подвергся пыткам.
🔥 В рамках акции также состоится поминальная служба по жертвам войны.
😀Помощь Украине – наш долг!
Мы продолжаем сбор средств на «Энергию для жизни» (мини-электростанции) и на нелетальную помощь защитникам Украины.
Также мы призываем правительства Германии и Европы максимально усилить военную помощь Украине. Только так путинский режим можно принудить к справедливому миру и предоставить Украине реальные гарантии безопасности.
Спасение Украины – спасение Европы!
📅24 февраля
🕓 19:30–21:00
📍Grabbeplatz, 40213 Düsseldorf
Мы скорбим вместе со всеми, кто потерял близких и здоровье за эти 12 лет войны, и по всем жертвам путинской агрессии и террора.
Приносите с собой плакаты, цветы и поминальные свечи.
🇺🇦Героям слава!
☠️ Убийцам позор!
#StopPutinsTerror#SaveUkraine#energy4life#WeStandWithUkraine
2 марта в 25 городах Италии прошли митинги в поддержку Украины. Их организаторы — партия Azione di Carlo Calenda и диаспоры Украины в Италии — выступили в Риме на митинге, совместно с представителями Stati Uniti d'Europa, Azione, +Europa, Italiani Radicali, Liberi Oltre, Partito Democratico, fondazione Einaudi и др.
Russi Contro la Guerra также представили свою позицию по вопросу и рассказали о несогласных в России с политикой Путина, войной и бесчеловечными условиями содержания пленных. Мы активно выразили солидарность с Украиной и обратились к Италии и ЕС с просьбой усилить поддержку Украине в этот нестабильный период.
Видео
https://m.youtube.com/watch?v=hw9gEGigQw0
#russicontrolaguerraitalia
#SaveUkraine
#People1st
#rawitaly
#FreeRussiansGlobal
23 февраля, накануне третьей годовщины полномасштабной войны России против Украины, в центре Рима прошла антивоенная акция THREE YEARS OF TERROR.
Акцию организовали активисты Russi Contro la Guerra совместно с объединением демократических диаспор Free Russians Global Свободные россияне / Free Russians Global . В своих выступлениях участники говорили о проблемах и трагедиях, которые уже три года не теряют актуальность: нечеловеческие условия содержания украинских военнопленных в российских тюрьмах, огромные тюремные сроки за инакомыслие в России, депортация детей с оккупированных украинских территорий, тотальная прокремлевская пропаганда, бомбардирующая граждан как внутри России, так и в других странах.
Активисты зачитали письма и обращения российских политических заключенных. Вот отрывок из последнего слова Алексея Горинова: «Насилие, агрессия, порождают только ответное насилие и ничего более. Вот истинная причина наших бед, страданий, наших бессмысленных жертв, разрушений объектов гражданской и промышленного инфраструктуры, наших жилищ. Давайте прекратим эту кровавую, никому не нужную бойню — ни нам, ни жителям Украины. Не пора ли оставить в покое наших соседей и заняться своими внутренними проблемами, которые нарастают, как снежный ком».
Через три года войны, когда резко меняется мировая политическая ситуация, эта акция около Римских форумов, в историческом центре европейской цивилизации, напомнила: белое – это белое, а черное – это черное. Агрессор остается агрессором, военных преступников необходимо судить, а христианская религия и церковь – это не рупор тезисов государственной власти.
В ходе акции собирали средства на закупку портативных электростанций для больниц и школ Украины (благотворительный проект «Энергия для жизни» Антивоенный Комитет России ),
После окончания акции желающие присоединились к большому шествию, организованному украинской диаспорой.
#3yearsofterror#rawitaly#russiagainstwar#WeStandwithUcraine
#russicontrolaguerra
#People1st#stoppropaganda#SaveUkraine