El manejo de archivos es una parte fundamental de la programación en Python. Permite a los programas leer y escribir datos en archivos en el sistema de archivos. A continuación, veremos cómo abrir, leer y escribir archivos en Python.
# Apertura de un archivo
archivo = open("archivo_ejemplo.txt", "w") # Abrir en modo escritura
# Escritura en el archivo
archivo.write("Hola, Mundo!\n")
archivo.write("Este es un archivo de ejemplo.\n")
# Cerrar el archivo
archivo.close()
# Apertura del archivo en modo lectura
archivo = open("archivo_ejemplo.txt", "r")
# Lectura del archivo completo
contenido_completo = archivo.read()
print("Contenido completo del archivo:")
print(contenido_completo)
# Cerrar el archivo
archivo.close()
# Escritura y lectura usando with
with open("archivo_ejemplo.txt", "a") as archivo: # Abrir en modo append
archivo.write("Añadiendo una nueva línea.\n")
with open("archivo_ejemplo.txt", "r") as archivo:
# Lectura línea por línea
print("Lectura línea por línea:")
for linea in archivo:
print(linea, end="")
# Lectura de líneas en una lista
with open("archivo_ejemplo.txt", "r") as archivo:
lineas = archivo.readlines()
print("\n\nLíneas del archivo como lista:")
print(lineas)
# Escritura en un archivo nuevo
with open("nuevo_archivo.txt", "w") as nuevo_archivo:
nuevo_archivo.write("Este es un nuevo archivo.\n")
nuevo_archivo.write("Tiene varias líneas.\n")
nuevo_archivo.write("Fin del archivo.\n")
# Lectura del nuevo archivo
with open("nuevo_archivo.txt", "r") as nuevo_archivo:
contenido = nuevo_archivo.read()
print("\nContenido del nuevo archivo:")
print(contenido)
Para trabajar con archivos en Python, primero debes abrir el archivo utilizando la función open()
, que acepta dos argumentos: el nombre del archivo y el modo en que deseas abrirlo.
Modos de apertura comunes:
"r"
: Modo lectura. Abre el archivo para leerlo. El archivo debe existir."w"
: Modo escritura. Crea un archivo nuevo o sobrescribe uno existente."a"
: Modo append. Abre el archivo para agregar contenido al final del archivo. Si el archivo no existe, se crea."b"
: Modo binario. Utilizado para leer y escribir archivos binarios.Puedes escribir en un archivo utilizando el método write()
. Recuerda cerrar el archivo después de escribir para asegurarte de que todos los datos se guarden correctamente.
archivo.write("Hola, Mundo!\n")
: Escribe una línea en el archivo.Puedes leer el contenido de un archivo utilizando el método read()
. Esto leerá todo el contenido del archivo en una sola operación. También puedes leer el archivo línea por línea utilizando un bucle for
.
contenido_completo = archivo.read()
: Lee todo el contenido del archivo.for linea in archivo
: Lee el archivo línea por línea.with
para Manejar ArchivosEl uso de with
es una forma más segura de trabajar con archivos porque asegura que el archivo se cierre automáticamente después de que el bloque de código se haya ejecutado, incluso si se produce una excepción.
with open("archivo_ejemplo.txt", "r") as archivo
: Abre el archivo en modo lectura y garantiza que se cierre al final del bloque with
.El método readlines()
lee todas las líneas de un archivo y las devuelve como una lista de cadenas.
lineas = archivo.readlines()
: Lee todas las líneas del archivo y las almacena en una lista.Puedes crear y escribir en un archivo nuevo utilizando open()
con el modo "w"
. Si el archivo ya existe, se sobrescribirá.
with open("nuevo_archivo.txt", "w") as nuevo_archivo
: Crea un nuevo archivo y escribe en él.open()
con el nombre del archivo y el modo de apertura.write()
para escribir datos en un archivo. No olvides cerrar el archivo después de escribir.read()
para leer todo el contenido de un archivo o for linea in archivo
para leer línea por línea.with
: Utiliza with open()
para manejar archivos de manera segura y asegurarte de que se cierren correctamente.readlines()
para leer todas las líneas del archivo en una lista.open()
con el modo "w"
para crear y escribir en un nuevo archivo.En Python, puedes interactuar con el usuario mediante la entrada y salida estándar. La entrada se obtiene a través de la función input()
, y la salida se muestra utilizando la función print()
.
# Entrada del usuario
nombre = input("Por favor, introduce tu nombre: ")
edad = input("Por favor, introduce tu edad: ")
# La función input() devuelve una cadena, así que si necesitas un número, debes convertirlo
edad = int(edad)
# Salida
print(f"Hola, {nombre}. Tienes {edad} años.")
# Realizar cálculos con la entrada del usuario
anios_hasta_retiro = 65 - edad
print(f"Te quedan {anios_hasta_retiro} años para jubilarte.")
# Entrada y conversión de diferentes tipos de datos
altura = float(input("Por favor, introduce tu altura en metros: "))
print(f"Tu altura es {altura} metros.")
# Formateo de la salida
# Formateo con f-strings (a partir de Python 3.6)
print(f"Nombre: {nombre}, Edad: {edad}, Altura: {altura:.2f} metros")
# Formateo con el método format()
print("Nombre: {}, Edad: {}, Altura: {:.2f} metros".format(nombre, edad, altura))
# Formateo con el operador %
print("Nombre: %s, Edad: %d, Altura: %.2f metros" % (nombre, edad, altura))
La función input()
se utiliza para obtener la entrada del usuario. Esta función siempre devuelve una cadena de texto, por lo que si se necesita otro tipo de dato (como un entero o un flotante), es necesario convertir la cadena utilizando las funciones de conversión correspondientes (int()
, float()
, etc.).
nombre = input("Por favor, introduce tu nombre: ")
: Muestra un mensaje al usuario y guarda la entrada como una cadena en la variable nombre
.edad = int(input("Por favor, introduce tu edad: "))
: Muestra un mensaje al usuario, guarda la entrada como una cadena y luego la convierte a un entero utilizando int()
.La función print()
se utiliza para mostrar mensajes en la pantalla. Puede aceptar múltiples argumentos y los imprime con un espacio entre ellos. También permite el formateo de cadenas para mostrar valores variables de manera más legible.
print(f"Hola, {nombre}. Tienes {edad} años.")
: Utiliza una f-string para formatear la salida, disponible a partir de Python 3.6.print("Hola,", nombre, ". Tienes", edad, "años.")
: Muestra la salida utilizando múltiples argumentos.Una vez convertida la entrada del usuario a un tipo de dato adecuado, se pueden realizar cálculos con ella.
anios_hasta_retiro = 65 - edad
: Calcula los años restantes hasta la jubilación.print(f"Te quedan {anios_hasta_retiro} años para jubilarte.")
: Muestra el resultado del cálculo.Es importante convertir la entrada del usuario al tipo de dato correcto antes de realizar cualquier operación con ella.
altura = float(input("Por favor, introduce tu altura en metros: "))
: Convierte la entrada del usuario a un número flotante.Existen varias formas de formatear cadenas en Python para incluir variables de manera legible:
F-strings (a partir de Python 3.6): Utilizan el prefijo f
y las llaves {}
para incluir variables directamente en la cadena.
print(f"Nombre: {nombre}, Edad: {edad}, Altura: {altura:.2f} metros")
: Muestra la altura con dos decimales.Método format()
: Utiliza llaves {}
como marcadores de posición y el método format()
para insertar variables.
print("Nombre: {}, Edad: {}, Altura: {:.2f} metros".format(nombre, edad, altura))
: Muestra la altura con dos decimales.Operador %
: Utiliza el operador %
para incluir variables en la cadena.
print("Nombre: %s, Edad: %d, Altura: %.2f metros" % (nombre, edad, altura))
: Muestra la altura con dos decimales.input()
para obtener la entrada del usuario y convierte el tipo de dato si es necesario.print()
para mostrar mensajes en la pantalla.format()
o el operador %
para formatear las cadenas de manera legible.