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
#Ethiopia: Report warns of arbitrary detentions, growing restrictions on media in Addis Ababa
-------
A new report by Human Rights First has raised concerns over alleged arbitrary detentions and increasing restrictions on media in #Addis_Ababa, particularly during periods of major international events.
The report, titled “Situational Analysis of Human Rights in Addis Ababa,” states that security forces carried out “pre-emptive detentions” across several parts of the capital without due process.
According to the findings, detentions were recorded in sub-cities including #Yeka, #Bole, and #Akaki_Kality, where individuals were held for more than a week without being charged or appearing before court.
In addition, the report highlighted what it described as a growing pattern of restrictive actions against media between 2025 and early 2026.
Read more: https://addisstandard.com/?p=55925
News: Report tracks #UAE-linked cargo flights to #Ethiopian military base amid regional power struggle
A cargo aircraft previously linked to the supply of weapons to armed groups in #Sudan has conducted multiple flights to Ethiopia in recent weeks, according to an exclusive investigation by the UK-based outlet Middle East Eye (MEE), raising questions about Ethiopia’s role in intensifying regional rivalries tied to the war in Sudan.
MEE reported that an Antonov An-124 cargo plane operated by UAE-based Maximus Air, and allegedly linked to Emirati military logistics, made repeated flights between #Abu_Dhabi and #Harar_Meda airbase, the main base of the Ethiopian Air Force.
Flight-tracking data reviewed by the outlet shows at least four trips to Harar Meda between 3 and 17 January, including one flight that later continued to Addis Abeba’s #Bole International Airport before departing for #Europe and #Asia.
While the purpose of the flights remains unclear...
Read more: https://addisstandard.com/?p=54681
News: #Ethiopian Airlines confirms the purchase of nine #Boeing 787-9 Dreamliner, partners with Bridgestone on airport safety
Ethiopian Airlines Group has confirmed the purchase of nine Boeing 787-9 #Dreamliner aircraft while launching a collaboration with #Bridgestone Corporation to enhance airport safety at Addis Ababa #Bole International Airport.
The airline said the newly ordered Boeing 787-9 jets, scheduled for delivery between 2031 and 2033, will support network expansion and strengthen international connectivity. This order follows
Ethiopian Airlines Group CEO #Mesfin_Tasew said the order demonstrates the carrier’s strategy to modernize its fleet with advanced, fuel-efficient aircraft while improving customer service.
Boeing’s Vice President of Commercial Sales and Marketing for Africa, #Anbessie_Yitbarek, described the 787 Dreamliner family as a “game-changer” for connecting Africa with global markets.
In parallel with its fleet expansion,...
Read more: https://addisstandard.com/?p=54671