fileinput proporciona un iterador sobre varios archivos y, opcionalmente, la entrada estándar. Durante el recorrido permite consultar el nombre actual, el número de línea y si comienza un nuevo archivo.

Lee varios archivos como un flujo

import fileinput

for linea in fileinput.input(files=("app.log", "worker.log"), encoding="utf-8"):
    origen = fileinput.filename()
    numero = fileinput.filelineno()
    print(origen, numero, linea.rstrip())

Trata stdin y el encoding

Un guion representa la entrada estándar. Declara encoding y errors en lugar de heredar una configuración distinta en cada equipo. Usa el objeto como context manager para cerrar los handles ante excepciones.

Usa inplace con cautela

inplace=True redirige la salida estándar al archivo procesado. Una excepción o impresión accidental puede dejar datos parciales. Configura backup, prueba con copias y prefiere un reemplazo explícito para información crítica.

Sigue aprendiendo

Consulta también manejo de archivos en Python. La documentación oficial de Python, consultada el 22 de julio de 2026, cubre estado global, hooks de apertura y edición in-place.