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
⭕️ «Tenemos la esperanza de que Dios bendiga el avance de quienes en el mundo quieren justicia; que extirpe de raíz de este abismo ese penetrante y mortífero cáncer que es el #sionismo...» (24/08/2025).
🔗 LEER 👉spanish.khamenei.ir/news/6895
✅@khamenei_es
KHAMENEI.IR | 𝕏 | Facebook| TikTok
❗️Joe Kent advierte que Trump(🇺🇸) quiere salir de la OTAN(🇬🇧🇺🇸) para poder estar del lado de Israel🇮🇱 en una futura guerra.
👉 A este lo van a matar si sigue hablando, en especial porque revela quien gobierna Siria.
Atte Admin
📲(https://t.me/wofnon)
📍Invita a un conocido 👉 Wofnon
#Irán#EEUU#Sionismo#Palestina#Israel#wofnon
👉 Lo dijo el mismo Trump, los yankies🇺🇸 emplearon más de 200 aeronaves para intentar invadir Irán🇮🇷 por Isfahán usando un aeródromo abandonado para crear una "cabeza de playa", el tema del piloto derribado del F-15 era solo una cortina.
¿Ustedes creen que solo los campesinos y locales de esa zona rural repelieron el ataque de la élite sionista🇮🇱-imperial🇺🇸?
Estoy casi seguro que los iraníes ya los esperaban y les dieron la "bienvenida" con "plomo" apenas intentaron aterrizar.
Atte Admin
📲(https://t.me/wofnon)
📍Invita a un conocido 👉 Wofnon
#Irán#EEUU#Sionismo#Palestina#Israel#wofnon
👉 Los iraníes🇮🇷 saben como continuar destrozando la economía de la élite sionista🇮🇱 -imperial🇺🇸.
Atte Admin
📲(https://t.me/wofnon)
📍Invita a un conocido 👉 Wofnon
#Irán#EEUU#Sionismo#Palestina#Israel#wofnon
🪖Los residentes de Irán🇮🇷 se alinean en "escudos humanos" en un intento de salvar las instalaciones energéticas de los ataques de la coalición Epstein(🇮🇱🇺🇸).
📲(https://t.me/wofnon)
📍Invita a un conocido 👉 Wofnon
#Irán#EEUU#Sionismo#Palestina#Israel#wofnon
🪖Los cráteres de los ataques estadounidenses🇺🇸 en Isfahan, Irán🇮🇷, a 20 km del aeródromo de campo, que fue desplegado por las fuerzas estadounidenses durante la operación de rescate del equipo del avión de combate F-15E Strike Eagle derribado.
👉 Todo sugiere que estaban preparando la zona para defenderla y evitar que los iraníes llegaran, por eso los bombardeos masivos, por eso los aviones de carga C-130. Intentaron crear un puente aéreo para desplegar más y más tropas... Fallaron!
Atte Admin
📲(https://t.me/wofnon)
📍Invita a un conocido 👉 Wofnon
#Irán#EEUU#Sionismo#Palestina#Israel#wofnon
Tutti parlano di Medio Oriente, ma pochi guardano alla cartina che da anni gira nei circoli israeliani: quella della Grande Israele.
Un progetto che non si ferma alla Palestina, ma guarda oltre, fino al Nilo e all’Eufrate.
La questione non è più solo la Palestina: è l’intera regione che rischia di trasformarsi in una gigantesca colonia occidentale.
🗺 Capire il disegno: chi lo sostiene, chi lo subisce, e cosa comporta per l’equilibrio globale?
#israele#palestina#mediooriente#geopolitica#grandisrael#arabworld#usa#sionismo#guerra#occupazione#nilo#eufrate#oilpolitics#arabia#iran#egitto#libano#siria#geopolitics#globalorder#colonialismo
Il resto delle slide al link: https://www.instagram.com/p/DNp3P4kM51Q/?img_index=1