Gestión de datos y procesos en Python
Reading data interactively
Para leer datos de manera interactiva en Python, puedes usar la función input(). Esta función permite al usuario ingresar datos desde la línea de comandos.
# Leer datos del usuario
user_input = input("Ingrese su nombre: ")
print(f"Hola, {user_input}!")
Standard streams
Python maneja tres flujos estándar: stdin, stdout y stderr. Puedes redirigir estos flujos para leer datos de entrada, escribir salida y mostrar errores.
import sys
# Leer desde stdin
input_data = sys.stdin.read()
print("Datos recibidos:", input_data)
# Escribir en stdout
sys.stdout.write("Esto es una salida estándar.\n")
# Escribir en stderr
sys.stderr.write("Esto es un error estándar.\n")
Environment variables
Las variables de entorno en Python se pueden acceder usando el módulo os. Estas variables pueden contener información sobre el sistema operativo y la configuración del entorno.
import os
# Obtener una variable de entorno
home_dir = os.getenv('HOME')
print(f"Directorio home: {home_dir}")
# Establecer una variable de entorno
os.environ['MY_VAR'] = 'Valor de mi variable'
print(f"MY_VAR: {os.getenv('MY_VAR')}")
Command-line arguments and exit status
En Python, puedes usar el módulo sys para acceder a los argumentos de línea de comandos y el estado de salida del programa.
import sys
# Obtener argumentos de línea de comandos
args = sys.argv
print(f"Argumentos de línea de comandos: {args}")
# Establecer el estado de salida
sys.exit(0) # Estado de salida 0 indica éxito
Running system commands in python
Puedes ejecutar comandos del sistema utilizando el módulo subprocess. Esto te permite interactuar con el sistema operativo y ejecutar comandos externos.
import subprocess # Ejecutar un comando del sistema subprocess.run(['ls', '-l']) # En Linux # subprocess.run(['dir'], shell=True) # En Windows
Obtaining the output of a system command
Para capturar la salida de un comando del sistema, puedes usar el módulo subprocess y su función run() con el parámetro capture_output=True.
import subprocess
# Capturar la salida de un comando
result = subprocess.run(['ls', '-l'], capture_output=True, text=True)
print("Salida del comando:")
print(result.stdout)
Advanced subprocess management
Para una gestión avanzada de subprocesos, puedes usar subprocess.Popen para iniciar un proceso y comunicarse con él mediante sus flujos estándar.
import subprocess
# Iniciar un proceso con Popen
process = subprocess.Popen(['ping', 'localhost'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
# Leer la salida y errores
stdout, stderr = process.communicate()
print("Salida del proceso:")
print(stdout.decode())
print("Errores del proceso:")
print(stderr.decode())
What are log files?
Los archivos de registro (log files) son archivos que contienen registros de eventos y actividades del sistema, aplicaciones o servicios. Se utilizan para monitorear y depurar sistemas.
# Ejemplo de lectura de un archivo de log
with open('example.log', 'r') as file:
log_contents = file.read()
print("Contenido del archivo de log:")
print(log_contents)
Filtering log files with regular expressions
Para filtrar archivos de log utilizando expresiones regulares, puedes usar el módulo re. Esto te permite buscar patrones específicos en el contenido del archivo.
import re
# Leer el archivo de log
with open('example.log', 'r') as file:
log_contents = file.read()
# Filtrar líneas que contienen un patrón específico
pattern = re.compile(r'ERROR')
matches = pattern.findall(log_contents)
print("Errores encontrados en el archivo de log:")
for match in matches:
print(match)