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.

LEER  Cómo conectar Redis a C++

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