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
❗️🇳🇱#PaesiBassi — Elezioni generali, il partito della destra populista #PVV guidato da Geert #Wilders è in grande vantaggio agli exit poll
👉 Segui il live su @UltimoraPolitics24
@UltimoraPolitics
🇳🇱#PaesiBassi – 7 dei 26 parlamentari del #PVV lasciano il partito di destra nazionalista criticando la scarsa cooperazione del loro leader Geert #Wilders con le altre forze politiche. I deputati formeranno un proprio gruppo parlamentare.
@UltimoraPolitics24
#PaesiBassi
Primo Ministro Dick #Schoof: "Il governo è caduto, tutti i ministri del #PVV si sono dimessi. Rimarrò come primo ministro ad interim, perché voglio lavorare con i ministri di #VVD, #NSC e #BBB per risolvere problemi importanti, come la minaccia internazionale, la guerra commerciale con gli #USA e i problemi nei Paesi Bassi. Continuerò imperterrito. Le dimissioni del PVV sono irresponsabili".
@OsservatorioEsteri
🇳🇱#PaesiBassi — Oggi si vota fino alle 21 per le elezioni legislative, le prime dell'era post-Mark #Rutte. Quattro i principali contendenti alla vittoria: il #PVV|Populisti di destra di Geert #Wilders; il #VVD|Liberal-conservatori di Dilan #Yesilgoz; l'alleanza Verdi-socialdemocratici di Franz #Timmermans; il neonato #NSC|Centro democristiano di Pieter #Omtzigt
@UltimoraPolitics
#PaesiBassi🇳🇱
#Parlamentari
Exit poll di Ipsos I&O.
Distribuzione dei seggi.
🟩 Democratici 66 (#D66|RE): 27
⬛️ Partito per la Libertà (#PVV|PfE): 25
🟦 Partito Popolare per la Libertà e la Democrazia (#VVD|RE): 23
🟥 Sinistra Verde - Partito del Lavoro (#GLPvdA|G/EFA|S&D): 20
🟩 Appello Cristiano-Democratico (#CDA|PPE): 19
⬛️ Risposta Corretta 2021 (#JA21|ECR): 9
🟥 Forum per la Democrazia (#FvD|ESN): 6
🟩 Movimento Civico-Contadino (#BBB|PPE): 4
🟩 Partito per gli Animali (#PvdD|LEFT): 3
🟥 Partito Socialista (#SP|Sinistra): 3
🟦#DENK|Minoranze etniche: 3
Altri: 5
Maggioranza: 76
@TuttoElezioni
#PaesiBassi🇳🇱
#Parlamentari
Risultati finali.
Distribuzione dei seggi.
🟩 Democratici 66 (#D66|RE): 26
⬛️ Partito per la Libertà (#PVV|PfE): 26
🟦 Partito Popolare per la Libertà e la Democrazia (#VVD|RE): 22
🟥 Sinistra Verde - Partito del Lavoro (#GLPvdA|G/EFA|S&D): 20
🟩 Appello Cristiano-Democratico (#CDA|PPE): 19
⬛️ Risposta Corretta 2021 (#JA21|ECR): 9
🟥 Forum per la Democrazia (#FvD|ESN): 7
🟩 Movimento Civico-Contadino (#BBB|PPE): 4
🟦#DENK|Minoranze etniche: 3
🟧 Partito Politico Riformato (#SGP|ECR): 3
🟩 Partito per gli Animali (#PvdD|LEFT): 3
Altri: 8
Maggioranza: 76
@TuttoElezioni
#PaesiBassi🇳🇱
#Parlamentari
Risultati finali.
Voti scrutinati: 100%.
Affluenza finale: 78,4% (+0,05%).
🟩 Democratici 66 (#D66|RE): 16,9%
⬛️ Partito per la Libertà (#PVV|PfE): 16,7%
🟦 Partito Popolare per la Libertà e la Democrazia (#VVD|RE): 14,2%
🟥 Sinistra Verde - Partito del Lavoro (#GLPvdA|G/EFA|S&D): 12,6%
🟩 Appello Cristiano-Democratico (#CDA|PPE): 11,8%
⬛️ Risposta Corretta 2021 (#JA21|ECR): 5,9%
🟥 Forum per la Democrazia (#FvD|ESN): 4,6%
🟩 Movimento Civico-Contadino (#BBB|PPE): 2,7%
🟦#DENK|Minoranze etniche: 2,4%
🟧 Partito Politico Riformato (#SGP|ECR): 2,3%
🟩 Partito per gli Animali (#PvdD|LEFT): 2,1%
Altri: 7,8%
@TuttoElezioni
#PaesiBassi🇳🇱
#Parlamentari
Risultati parziali.
Voti scrutinati: 98,6%.
🟩 Democratici 66 (#D66|RE): 16,7%
⬛️ Partito per la Libertà (#PVV|PfE): 16,7%
🟦 Partito Popolare per la Libertà e la Democrazia (#VVD|RE): 14,1%
🟥 Sinistra Verde - Partito del Lavoro (#GLPvdA|G/EFA|S&D): 12,5%
🟩 Appello Cristiano-Democratico (#CDA|PPE): 11,7%
⬛️ Risposta Corretta 2021 (#JA21|ECR): 5,9%
🟥 Forum per la Democrazia (#FvD|ESN): 4,5%
🟩 Movimento Civico-Contadino (#BBB|PPE): 2,6%
🟦#DENK|Minoranze etniche: 2,4%
🟧 Partito Politico Riformato (#SGP|ECR): 2,3%
🟩 Partito per gli Animali (#PvdD|LEFT): 2,0%
Altri: 8,6%
@TuttoElezioni
#Sondaggi
#PaesiBassi🇳🇱
#Parlamentari
Sondaggio di Ipsos I&O.
Data: 23-24 ottobre 2025.
Campione: 2.745 persone.
⬛️ Partito per la Libertà (#PVV|PfE): 16,7%
🟥 Sinistra Verde - Partito del Lavoro (#GLPvdA|G/EFA|S&D): 15%
🟩 Democratici 66 (#D66|RE): 14,4%
🟩 Appello Cristiano-Democratico (#CDA|PPE): 12,6%
🟦 Partito Popolare per la Libertà e la Democrazia (#VVD|RE): 10,4%
⬛️ Risposta Corretta 2021 (#JA21|ECR): 7,7%
🟥 Forum per la Democrazia (#FvD|ESN): 3,6%
🟩 Partito per gli Animali (#PvdD|LEFT): 3,0%
🟥 Partito Socialista (#SP|Sinistra): 2,8%
🟩 Movimento Civico-Contadino (#BBB|PPE): 2,7%
🟧 Partito Politico Riformato (#SGP|ECR): 2,5%
🟦#DENK|Minoranze etniche: 2,4%
🟦 Unione Cristiana (#CU|Cristiano-democratici): 2,2%
🟪 Volt Paesi Bassi (#Volt|G/EFA): 2,2%
Altri: 1,8%
@TuttoElezioni