import os
# Funciones para las operaciones ABMs sobre el archivo
def crear_archivo(nombre_archivo):
"""Crea un archivo y escribe datos iniciales."""
with open(nombre_archivo, 'w') as archivo:
archivo.write('ID,Nombre,Edad\n')
archivo.write('1,Juan,28\n')
archivo.write('2,Ana,22\n')
archivo.write('3,Pedro,34\n')
print(f"Archivo '{nombre_archivo}' creado con datos iniciales.")
def agregar_datos(nombre_archivo):
"""Agrega una nueva línea de datos al archivo."""
id_nuevo = input("Ingrese ID: ")
nombre_nuevo = input("Ingrese Nombre: ")
edad_nueva = input("Ingrese Edad: ")
with open(nombre_archivo, 'a') as archivo:
archivo.write(f"{id_nuevo},{nombre_nuevo},{edad_nueva}\n")
print(f"Datos {id_nuevo, nombre_nuevo, edad_nueva} agregados al archivo '{nombre_archivo}'.")
def eliminar_datos(nombre_archivo):
"""Elimina una línea del archivo según el ID proporcionado."""
id_eliminar = input("Ingrese el ID que desea eliminar: ")
with open(nombre_archivo, 'r') as archivo:
lineas = archivo.readlines()
with open(nombre_archivo, 'w') as archivo:
for linea in lineas:
if not linea.startswith(id_eliminar):
archivo.write(linea)
print(f"Datos con ID {id_eliminar} eliminados del archivo '{nombre_archivo}'.")
def modificar_datos(nombre_archivo):
"""Modifica una línea del archivo según el ID proporcionado."""
id_modificar = input("Ingrese el ID que desea modificar: ")
nombre_modificado = input("Ingrese el nuevo Nombre: ")
edad_modificada = input("Ingrese la nueva Edad: ")
with open(nombre_archivo, 'r') as archivo:
lineas = archivo.readlines()
with open(nombre_archivo, 'w') as archivo:
for linea in lineas:
if linea.startswith(id_modificar):
archivo.write(f"{id_modificar},{nombre_modificado},{edad_modificada}\n")
else:
archivo.write(linea)
print(f"Datos con ID {id_modificar} modificados en el archivo '{nombre_archivo}'.")
def mostrar_datos(nombre_archivo):
"""Muestra el contenido del archivo."""
if os.path.exists(nombre_archivo):
with open(nombre_archivo, 'r') as archivo:
contenido = archivo.read()
print("\nContenido del archivo:")
print(contenido)
else:
print(f"El archivo '{nombre_archivo}' no existe.")
def borrar_archivo(nombre_archivo):
"""Borra el archivo del sistema."""
if os.path.exists(nombre_archivo):
os.remove(nombre_archivo)
print(f"Archivo '{nombre_archivo}' borrado.")
else:
print(f"El archivo '{nombre_archivo}' no existe.")
# Menú interactivo
def menu():
"""Muestra el menú de opciones y ejecuta la acción seleccionada."""
nombre_archivo = input("Ingrese el nombre del archivo que desea crear o manipular (con extensión .txt): ")
while True:
print("\n--- Menú de Operaciones con Archivos ---")
print("1. Crear archivo")
print("2. Agregar datos")
print("3. Eliminar datos")
print("4. Modificar datos")
print("5. Mostrar datos")
print("6. Borrar archivo")
print("7. Salir")
opcion = input("Seleccione una opción: ")
if opcion == '1':
crear_archivo(nombre_archivo)
elif opcion == '2':
agregar_datos(nombre_archivo)
elif opcion == '3':
eliminar_datos(nombre_archivo)
elif opcion == '4':
modificar_datos(nombre_archivo)
elif opcion == '5':
mostrar_datos(nombre_archivo)
elif opcion == '6':
borrar_archivo(nombre_archivo)
elif opcion == '7':
print("Saliendo del programa. ¡Hasta luego!")
break
else:
print("Opción no válida. Por favor, intente de nuevo.")
# Ejecutar el menú
menu()