Tutoriales

2 formas prácticas de usar el módulo de subprocesos de Python

En mis artículos anteriores, presenté el módulo de subproceso de Python, expliqué cómo usarlo y describí cuándo usarlo.Este artículo revisará dos casos de uso diferentes para la biblioteca de subprocesos: ejecutar comandos Bash simples y ejecutar guion bash.

[ Download the Bash cheat sheet to become more efficient at the command line. ]

Ejecute comandos Bash simples usando subproceso

Puede usar el módulo de subproceso para ejecutar comandos Bash simples como mkdir y lsEste ejercicio utilizará Python para analizar un archivo de texto y crear un directorio a partir del contenido de la carpeta.

Primero, clonar repositorio subprocess_demo en su terminal:

git clone 

Después cd a usecase1.

Debe haber dos archivos: directories.txt y create_directories.py. Este directories.txt El archivo contiene el nombre de la carpeta que está a punto de generar.Este create_directories.py archivo leer contenido directories.txt y use el módulo de subproceso para crear el directorio y mkdirVerificaré el contenido del script.

La primera línea del script importa la biblioteca de subprocesos:

import subprocess

A continuación, recorre los nombres de los directorios en el directorio directories.txt archivo y uso mkdir mandar entrar run Método para crear un directorio.

with open("directories.txt", "r") as directories:
   for dirs in directories:
     subprocess.run("mkdir ./{0}".format(dirs),shell=True, capture_output=True)

atropelló ls Comando para verificar que el script creó todos los directorios.debería ver automation, backup, development, productiony testing Tabla de contenido.

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

Ejecute el script Bash usando el subproceso

También puede ejecutar scripts de Bash utilizando la biblioteca de subprocesos.Este ejemplo utiliza Carpeta del caso de uso 2 en el repositorio subprocess_demo. El script Bash en este ejemplo (check_ceph.sh) para acceder al clúster de Ceph de back-end Fundación de datos OpenShift pasar rsh Y ejecute algunos comandos de Ceph para determinar el estado y la arquitectura del clúster.

[ Do you know the difference between Red Hat OpenShift and Kubernetes? ]

Si no tiene un clúster de OpenShift Data Foundation activo, puede usar -i output.txt banderas en la terminal. secuencia de comandos de Python, ceph_status_check.pyusar subprocess.run("check_ceph.sh") Tome el resultado de un script Bash, luego procese el texto para generar información importante sobre su clúster. Le recomiendo que abra los scripts en el repositorio subprocess_demo para ver cómo analizar la salida del subproceso usando Python.

Para ejecutar un script de Python, ingrese el siguiente comando:

python3 ceph_status_check.py

O, si no tiene un clúster de OpenShift en ejecución, ejecute:

python3 ceph_status_check.py -i output.txt 

Si el código se ejecuta correctamente, aparecen cuatro indicadores en la terminal: estado ceph, capacidad libre, número de osds y número de páginas.

intentalo

¡lo tienes! Acaba de examinar dos casos de uso diferentes para el módulo de subprocesos.

Para una mirada más profunda, consulte documentación de subprocesos y Cómo escribir un complemento de Ansible para crear archivos de inventario en Enable Sysadmin por José Vicente Núñez.

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