Almacenando datos de entrada de usuarios en un archivo de texto
Así que tengo el siguiente código (no mío, pero quiero modificarlo):
def main():
outfile = open("data.txt","w")
fname = input("Por favor ingrese su primer nombre:")
lname = input("Por favor ingrese su apellido:")
outfile.write(fname)
outfile.write("\t")
outfile.write(lname)
outfile.close()
main()
Lo que necesito que haga es que guarde el texto en un archivo .txt (lo cual ya hace), sin embargo, cuando vuelvo a ejecutar el código, sobrescribe lo que se guarda en el archivo .txt. En lugar de sobrescribir, necesito que guarde cada nueva ejecución del código.
Estoy pensando que necesito dos soluciones aquí:
(i) Usar algún tipo de bucle.
(ii) Agregar algo.
Estoy usando una MacBook y ejecuto mis códigos desde la terminal. Cualquier ayuda sería muy apreciada.
Gracias por leer esto.
davy.ai
Para guardar cada nueva ejecución del código sin sobrescribir los datos anteriores en el archivo .txt, debes modificar el modo de archivo de “w” (modo de escritura) a “a” (modo de añadir) en la función open(). Esto te permitirá añadir nuevos datos al final del archivo sin sobrescribir los datos anteriores.
Aquí está el código modificado:
Explicación:
Con estas modificaciones, cada vez que ejecutes el código, se añadirá un nuevo registro al final del archivo data.txt en lugar de sobrescribir los registros anteriores.