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
NUEVA SERIE
Temporada 1 - Episodios 13/13
Temporada 2 - Episodios 13/13
📽 Título: Noddy, detective en el País de los Juguetes
🔹 Año: 2016
🏳 Pais: Reino Unido
🔅 Género: #Animacion | #Infantil
✅ Nota: 6,9 IMDb
🔰 Plataforma: Netflix
Introducción a la animación de fotos con Photoshop y After Effects
#aftereffects#photoshop#animacion#Domestika
Descargar Curso:
Parte1👉: https://www.up-4ever.net/4p3jvqjkk5ax
Parte2👉: https://www.up-4ever.net/op7dlq52m0u7
Parte3👉: https://www.up-4ever.net/5zl8t48s81po
NUEVA SERIE
Temporada 1 - Episodios 26/26
Temporada 2 - Episodios 20/20
📽 Título: La joven Liga de la Justicia
🔹 Año: 2011
🏳 Pais: Estados Unidos
🔅 Género: #Animacion | #Accion | #CienciaFiccion
✅ Nota: 7,1 FilmAffinity | 8,7 IMDb
🔰 Plataforma: Netflix