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
Paralimpiadi Milano Cortina 2026
Programma:
https://www.paralympic.org/milano-cortina-2026/results#/schedule/calendar
🚨 Invece di un post quotidiano, usiamo questo come post unico per commentare, notizie sul medagliere etc.
Lo trovate fissato in alto.
#TdP
#Francia
Élisabeth #Borne (#TDP|RE): "Dedico la mia nomina a Prima Ministra a tutte le bambine. Andate fino alla fine dei vostri sogni, niente deve frenare la lotta per il posto delle donne nella nostra società. Bisogna agire più velocemente e in modo più incisivo dinnanzi alla sfida climatica ed ecologica. Questo è tutto il senso del nuovo metodo voluto dal Presidente #Macron."
@UltimoraPolitics
#Francia
Ministro degli Esteri Jean-Yves #LeDrian (#TDP|RE): "La rielezione di Emmanuel #Macron è una grande soddisfazione. È soprattutto la forza della mobilitazione dei francesi per il mantenimento dei nostri valori e il fatto che i francesi non volevano una Francia che si restringe. Dobbiamo considerare questa vittoria come una vittoria che ci obbliga nel campo dell'ecologia ma per Macron occorre una maggioranza in Assemblea nazionale."
@UltimoraPolitics