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
Partido Comunista de Cuba
(@PartidoPCC) en X
Polos productivos con resultados y potencialidades, un parque solar fotovoltaico en construcción, comunidades en transformación, centros sociales y constantes intercambios con la población,han caracterizado la jornada de trabajo de @DiazCanelB y @DrRobertoMOjeda en #VillaClara
https://x.com/PartidoPCC/status/1892624434256588952
La Empresa Universal Villa Clara solicita fuerza laboral para cubrir la plaza de:
Mecánico.
Requisitos.
-- Debe ser graduado como tal.
Otros beneficios:
-- Modulo mensual.
Llamar los interesados al Director de la UEB Mayorista al: 59874693.
#villaclara
EMPROY
La EMPROY Villa Clara solicita profesionales para ocupar plaza de:
Especialista en Ciencias Informáticas.
Salario de: 8000 CUP + Pagos por resultados + Utilidades trimestrales.
Requiere Nivel Superior.
Contactar con Directora de Gestión de Capital Humano al:
-- 52850923.
#villaclara
SERMAVCON S.R.L.
Si eres una persona responsable con disponibilidad para trabajar en turnos rotativos (mañana, tarde y noche) y fines de semana; capacidad para trabajar en equipo y seguir instrucciones: la Mipyme SERMAVCON S.R.L. te ofrece una incorporación inmediata ya que estamos en crecimiento con buena remuneración salarial, dándote la oportunidad de contribuir a la salud y bienestar de la comunidad.
Para más información comunícate a cualquiera de los números siguientes:
-- 63448847.
-- 58772929.
-- 59974504.
Contacto:
63448847, 58772929, 59974504
#villaclara
Dr. Roberto Morales Ojeda
(@DrRobertoMOjeda) en X
En esta mañana de viernes participamos, junto a @DiazCanelB y al Comandante de la Revolución @ValdezMenendez , en la inauguración del Parque Solar Fotovoltaico en Remedios que tributará 21.87 MW al SEN, primero de su tipo en #VillaClara que sincronizó el 16 de marzo. #UnidosXCuba
https://x.com/DrRobertoMOjeda/status/1905605006646010111
Dr. Roberto Morales Ojeda
(@DrRobertoMOjeda) en X
La voluntad de no claudicar y el trabajo eficiente han permitido que en Quemado de Güines, #VillaClara, no se detengan las acciones en beneficio del pueblo, pese a las adversidades. Así lo corroboramos en un barrio en transformación y en el policlínico. Seguimos #UnidosXCuba
https://x.com/DrRobertoMOjeda/status/1892603214551290068?t=BFL8YvDU36VWquvPt-BPbg&s=19
Dr. Roberto Morales Ojeda
(@DrRobertoMOjeda) en X
Con la inauguración del Parque Solar Fotovoltaico en Remedios iniciamos por las tierras de Marta Abreu y el Che las visitas a territorios de #VillaClara para recorrer sitios de interés económicos, productivos y sociales. #GenteQueSuma
https://x.com/DrRobertoMOjeda/status/1905619280135139438
Buenas tardes estimados subscriptores
A partir de ahora para diferencias las ofertas laborales y para una mayor organización. Le daremos uso a los # por lo que cada oferta tendrá un # en referencia a la provincia , subiremos las de mayor votación en las encuestas.
#lahabana#guantanamo#isladelajuventud#santiagodecuba#holguin#granma#artemisa#pinardelrio#cienfuegos#villaclara#ciegodeavila