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
#CapitanAmerica🛡
Se mostro un nuevo avance de Capitán América Un Nuevo Mundo, En el avance se vio de frente a Red Hulk y una escena donde Thunderbolt Ross menciona que han encontrado Adamantium, el cual tomarán del Celestial que vimos en Eternals.
La trama además de traer el Adamantium al MCU, el Presidente Ross querrá formar unos Nuevos Vengadores!
Sam Wilson quiere saber porque Ross ahora está interesado en formar unos Vengadores, pero este no quiere explicárselo.
@MARVELNOTICIAS📮
#CapitanAmerica🛡
¡CAPITÁN AMÉRICA SE RETRASÓ POR LA ACCIÓN!
Daniel RPK nuestro insider de confianza revela que Marvel Studios decidió retrasar 'Capitán América: Brave New World' debido a que las escenas de acción no fueron suficientemente satisfactorias y grandes en comparación con las anteriores de la trilogía original del Capitán América.
Esperemos que si mejoren las escenas de acción, se supone que veremos a Red Hulk y no queremos peleas aburridas. Tienen tiempo para arreglarlo.
'Capitán América: Brave New World' se estrena en febrero de 2025.
@MARVELNOTICIAS📮