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
#Italia
Il ministro dello sport Andrea #Abodi: "Il governo ha dimostrato concretamente, in questi anni, l'impegno a favore di tutto il movimento sportivo italiani, reputo obiettivamente scorretto tentare di negare le proprie responsabilità sulla terza mancata qualificazione consecutiva ai Mondiali, accusando le Istituzioni di una presunta inadempienza e sminuendo l'importanza e il livello professionistico di altri sport"
@OsservatorioItaliano
Coming out del calciatore Jakub Jankto, di ritorno in Italia con il Cagliari. Polemiche sulle affermazioni del ministro #Abodi: "Non amo le ostentazioni, ma rispetto le scelte individuali". Poi aggiunge: "Posso non condividere alcune espressioni del Pride?". Critiche da #PD e #M5S
@UltimoraPolitics
Viminale, i ministri Matteo #Piantedosi e Andrea #Abodi sottoscrivono una dichiarazione d'intenti con anche il presidente della FIGC Gabriele Gravina: "Partite di calcio da interrompere in caso di cori o atti antisemiti. Stop alla maglia con numero 88"
Nota:
Il numero 88 è spesso usato dai gruppi neonazisti per simbolizzare il saluto 'Heil Hitler' (H è l'ottava lettera dell'alfabeto)
@UltimoraPolitics
Il deputato Enrico #Costa ha chiesto che il ministro dello Sport Andrea #Abodi venga in Aula della Camera per un'informativa urgente sul post del Pd, poi rimosso, che avrebbe utilizzato immagini delle Olimpiadi e della maglia azzurra per un invito al voto referendario.
@UltimoraPolitics24
Il ministro dello sport Andrea #Abodi: "È evidente a tutti che il calcio italiano va rifondato e che questo processo debba ripartire da un rinnovamento dei vertici della FIGC", e replica a #Gravina: "È scorretto tentare di negare le proprie responsabilità sulla terza mancata qualificazione consecutiva ai Mondiali, accusando le Istituzioni di una presunta inadempienza e sminuendo l'importanza e il livello professionistico di altri sport".
@UltimoraPolitics24
Il Ministro #Abodi commenta il caso #Juventus: "C’è un’esigenza che deve essere soddisfatta, perché spiegare è importante quanto decidere. Aspetto le motivazioni e chi ha la responsabilità spieghi questa decisione e perché non ne sono state prese altre. Dopo…
Il Ministro #Abodi commenta il caso #Juventus: "C’è un’esigenza che deve essere soddisfatta, perché spiegare è importante quanto decidere.
Aspetto le motivazioni e chi ha la responsabilità spieghi questa decisione e perché non ne sono state prese altre. Dopo c’è una responsabilità politica di cambiare le regole, nel rispetto dell’autonomia dello sport, perché fenomeni degenerativi vengano limitati. E limitata sia l’interpretazione di questi fatti."
@UltimoraPolitics
#Italia
Il ministro dello sport #Abodi ha chiesto ufficialmente le dimissioni di Gravina: “Si prenda la responsabilità della mancata qualificazione.”
Per la successione in calo l’ipotesi #Malagò, si pensa a #Galliani (#FI|EPP).
@OsservatorioItaliano