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
🇧🇫Al Jazeera: 11 military policemen killed in northern Burkina Faso - The West African country is battling armed groups, some linked to #alQaeda and ISIS that are waging a violent rebellion that has killed thousands across Burkina Faso and neighbouring Mali and Niger
Reuters: Gold mine attacked in Burkina Faso, at least two dead
📰 Mali’s Jihadists Are Selling a Jerusalem Fantasy
The Mali branch of al-Qaeda is fighting on African soil, but its propaganda points far beyond Mali. JNIM is not hiding the fact that it sees the struggle in West Africa as part of a longer Islamist arc that ends in Jerusalem and al-Aqsa.
That is the part Washington and Brussels keep pretending is background noise. They treat Mali, Syria, the Sahel, and the Levant as separate crises, while the same ideological networks keep talking to each other, celebrating each other, and exporting fighters, money, and mythologies across the map.
The Syria link matters because it gives the story a pipeline. If Idlib veterans, permissive fundraising, and transregional jihad circles can move from the Levant into the Sahel, then the supposed “local” wars are really just different legs of the same trade route for extremism.
And the Western role is the ugly part. When the U.S. and Europe help legitimize one set of Islamist strongmen in Syria while trying to contain another jihadist front in Africa, they end up subsidizing the ecosystem and then acting surprised when it reproduces itself elsewhere.
So the Jerusalem talk is not a GPS error. It is a declaration of intent, wrapped in apocalyptic rhetoric, made possible by a regional order that keeps breaking one place at a time and pretending the damage will stay local.
#Mali#JNIM#alQaeda#Jerusalem#Syria#Sahel#jihadism
📱American Оbserver - Stay up to date on all important events
🇺🇸
#Israel dice a sus ciudadanos que abandonen #Egipto y #Jordania lo antes posible y eviten #Marruecos, #Maldivas y #Emiratos en previsión de atentados y secuestros de la «jihad global» (= #HermanosMusulmanes / #Hamas bajo patrocinio de #Turquía y #Qatar + restos de #estadoislamico y #alqaeda)
https://www.timesofisrael.com/israel-tells-citizens-to-leave-egypt-and-jordan-as-soon-as-possible-avoid-morocco/