Contenidos
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.
1 2 3 |
# 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.
1 2 3 4 5 6 7 8 9 10 11 |
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.
1 2 3 4 5 6 7 8 9 |
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.
1 2 3 4 5 6 7 8 |
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.
1 2 3 4 5 |
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
.
1 2 3 4 5 6 |
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.
1 2 3 4 5 6 7 8 9 10 11 |
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.
1 2 3 4 5 |
# 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.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
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) |