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
Luigi Di Maio (#IC): "Non ci sono se, ma o scuse da accampare. Abbiamo perso. Gli Italiani non hanno considerato abbastanza maturo e valido il nostro progetto politico".
@UltimoraPolitics
Новий графік руху: Укрзалізниця прискорила поїзди до Варшави
Прямий рейс №67/68 Київ — Варшава, що сполучає дві сусідні столиці, отримав у новому графіку 2025-2026 прискорення на більш ніж 2 години.
🕐 Тепер відправлення з Києва о 19:51 — прибуття до Варшави — о 09:43. Зворотно поїзд вирушає о 18:41 з Варшави, а прибуває до Києва о 09:49.
📌 14 грудня варшавський поїзд прибуватиме та вирушатиме і з головного вокзалу польської столиці: Варшави Центральної. Там можна зручно пересісти на громадський транспорт по місту.
У новому графіку також повністю оновлений поїзд №23/34 Київ — Холм — тепер ним можна найшвидше дістатися до Варшави з пересадкою.
🕐 Відправлення з Києва о 21:57 — у Холмі о 8:08. А вже о 8:38 з Холма відправляється #IC 2802 Gorski на Щецин через Варшаву на Познань. Прибуття до Варшави Центральної об 11:19.
Impegno Civico (#IC) di #DiMaio pubblica un sito web (https://www.tagliabollette.eu/) per calcolare il risparmio in bolletta con la proposta di copertura dell’80% del costo della stessa da parte dello Stato.
@UltimoraPolitics
#Italia#Elezioni2022
Luigi #DiMaio (#IC): "In vista della presentazione del progetto politico di domani posso dirvi il nome: è Impegno Civico e rappresenta un principio di responsabilità civica evocato ieri da Papa Francesco"
@UltimoraPolitics
#Elezioni2022 Domani in prima serata, alle 21.30 su Rai 1, speciale "Porta a Porta" con i principali leader dei partiti che partecipano a questa campagna elettorale. Ospiti di Bruno Vespa, nell'ordine: 📍 Luigi #DiMaio (#IC) 📍 Silvio #Berlusconi (#FI) 📍 Giorgia…
#Elezioni2022
Domani in prima serata, alle 21.30 su Rai 1, speciale "Porta a Porta" con i principali leader dei partiti che partecipano a questa campagna elettorale. Ospiti di Bruno Vespa, nell'ordine:
📍 Luigi #DiMaio (#IC)
📍 Silvio #Berlusconi (#FI)
📍 Giorgia #Meloni (#FdI)
📍 Giuseppe #Conte (#M5S)
📍 Carlo #Calenda (#Azione/#IV)
📍 Matteo #Salvini (#Lega)
📍 Enrico #Letta (#PD)
@UltimoraPolitics