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
🌎 The Inuit of the Arctic believe in the legend of the Qalupalik, a mysterious sea creature with green skin and long hair that lives under the ice. According to the legend, Qalupalik lures disobedient children into the water with a humming song, warning kids to stay safe near the sea. Early explorers recorded Inuit parents telling these tales in the 19th century. ✨
#mythology⚡#arctic⚡#inuit
👉subscribe Interesting Planet
Groenlandia: parlano gli Inuit, non le potenze ❄️
Mentre dagli USA (con Trump) tornano dichiarazioni inquietanti sulla Groenlandia, a prendere la parola sono finalmente i nativi Inuit e i loro rappresentanti politici.
Il partito Inuit Ataqatigiit (IA) – forza progressista e indipendentista fondata nel 1976 – denuncia con fermezza l’emarginazione della Groenlandia dalle decisioni che la riguardano direttamente, a partire dai rapporti con la Danimarca e dalle pressioni geopolitiche internazionali.
“Non possiamo accettare che si discuta del nostro Paese senza di noi. Lo status quo non è più un’opzione”, afferma Erica Pipaluk (IA), chiedendo veri negoziati, trasparenza e il rafforzamento della sovranità decisionale groenlandese.
Anche Mariane Paviasen Jensen, portavoce politica di IA, sottolinea un punto centrale:
l’indipendenza non può essere uno slogan, ma un percorso condiviso, discusso apertamente con la popolazione e deciso tramite referendum.
Economia, difesa, sanità, istruzione, giustizia: tutto va pianificato con serietà e responsabilità, mettendo al centro il popolo Inuit.
✊ “Se restiamo divisi, gli unici vincitori saranno gli altri Paesi che vogliono esercitare potere sulla nostra isola”.
Autodeterminazione, unità, rispetto dell’ambiente e delle tradizioni: la Groenlandia chiede di decidere da sé il proprio futuro.
Una voce da ascoltare. Una lotta che riguarda tutti.
#Groenlandia#Inuit#Autodeterminazione#Decolonizzazione#IA#DirittiDeiPopoli#Geopolitica#Artico
https://www.marx21.it/internazionale/groenlandia-parlano-i-nativi-locali-e-difensori-del-popolo-inuit/
Various Artists — The Archival Recordings of Constantin Brăiloiu (Death Is Not The End, 2024)
#traditional#field_recording#basque#bretton#bulgarian#corsican#ethiopian#flemish#gaelic#georgian#greek#hausa#inuit#irish#italian#kabyle#macedonian#norwegian#romanian#russian#sardinian#sephardic#swiss#tuareg#Brittany#Flanders#Wallonia#Bosnia_and_Herzegovina#Bulgaria#China#England#Ethiopia#France#Georgia#Greece#India#Ireland#Italy#Japan#Macedonia#Norway#Portugal#Romania#Russia#Switzerland#Turkey
Сборник записей пионера румынской этномузыкологии, Константина Браилою. Треки с него впервые прозвучали на радио NTS в июле 2017 года, а в 2024 году лейблDeath Is Not The End выпустил его в формате полноценного альбома в честь своего 10-летия.
Сборник включает полевые записи народных песен и танцев и охватывает музыкальные традиции множества культур: английской, ирландской, гэльской, норвежской, бретонской, японской, итальянской, швейцарской, баскской, сардинской, эстонской, грузинской, греческой, турецкой, сефардской, португальской, французской, китайской, русской, хауса, туарегов, индийской, корсиканской, эфиопской, румынской, валлонской, фламандской, немецкой, кабильской, болгарской, македонской, боснийской и карибу-эскимосской.
Существенная проблема этого релиза заключается в том, что треки не проаннотированы. По этой причине слушателю придется упавать на свою собственную эрудицию и знание языков, чтобы понять, какая композиция принадлежит к какой культуре.
🔗Bandcamp | Telegram