Tutoriales

Pitón y Bash?¿Por qué no usar también el módulo de subproceso de Python?

Python es un lenguaje de programación versátil y fácil de usar que se destaca en la manipulación, el análisis y la generación de informes de cadenas. Por esta razón, muchos administradores de sistemas usan Python para las tareas diarias, pero cambian a Bash para tareas familiares y, a menudo, básicas. Es una buena combinación, pero ¿por qué usar Bash para algunas tareas y Python para otras cuando se pueden usar ambos?

[ Download A sysadmin’s guide to Bash scripting. ]

Usar Bash para ejecutar tareas repetitivas o comandos del sistema de bajo nivel, y luego usar Python para analizar o procesar más la salida en un formato legible es una excelente manera de aprovechar las ventajas de ambos lenguajes. Afortunadamente, el módulo de subprocesos de Python facilita la integración de Bash en sus scripts de Python.

Para ejecutar los ejemplos de esta guía, debe tener la Python 3.5 o superiorEl módulo .subprocess es una biblioteca estándar en Python y no requiere instalación manual.

Conceptos básicos del módulo de subproceso

El módulo de subproceso contiene varios métodos de utilidad para ejecutar comandos Bash.El principal método de subproceso que utilizará es run. y run, puede escribir cualquier comando Bash como primer argumento en un método entre comillas simples, dobles o triples. P.ej:

subprocess.run("ls")

Si desea capturar la salida, puede agregar capture_output=True debate:

subprocess.run("ls", capture_output=True)

Si bien la biblioteca de subprocesos tiene muchos otros métodos útiles, esta guía se enfoca solo en run método.

NOTA: Si está utilizando macOS, debe agregar shell=True argumento run método.

Para obtener más información sobre el módulo de subprocesos, visite documento.

Cuándo usar el módulo de subproceso de Python

El módulo de subprocesos funciona mejor cuando se ejecutan comandos Bash simples en un script de Python. El módulo de subproceso está limitado a comandos Bash más complejos, o si necesita crear un nuevo shell.

Por ejemplo, para obtener un rsh Usar comandos de subprocesos es muy difícil. Si tiene un comando Bash largo que desea ejecutar en un subproceso, puede encerrarlo entre comillas triples. P.ej:

subprocess.run('''ls -l | awk -v OFS='\t' 'BEGIN { printf "%s\t%s\n", "Name", "Size"} {print $9,$5}''')

Sin embargo, la mejor manera de ejecutar comandos Bash complejos es crear un script Bash con sus comandos y luego usar el módulo de subproceso para ejecutarlo. Según lo que desee hacer, puede capturar la salida y continuar procesándola en Python.

proc = subprocess.run(["./sample_Bash.sh"], shell=True, capture_output=True)

pitón práctico

Python y Bash son una gran combinación para el administrador de sistemas ocupado. Cubrí los conceptos básicos del módulo de subprocesos en este artículo. En mi próximo artículo, demostraré algunas formas prácticas en las que puede usar Python y Bash juntos en su sistema.

[ Learn how to manage your Linux environment for success. ]

LEER  Cyber ​​Hunter en Linux Mint 20 - Prueba de juegos de Linux

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba