Python - Como hago que los datos de una lista en Python se queden guardados en un archivo de texto?

 
Vista:

Como hago que los datos de una lista en Python se queden guardados en un archivo de texto?

Publicado por Christian Bazán (1 intervención) el 22/11/2019 02:29:38
El programa ya hace todas las funciones falta que lo que modifique, o agregue se guarde en un archivo de texto

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
global lista
lista = list()
 
class Producto:
    clave = ""
    nombre = ""
    precio = ""
 
def opciones():
    #Mostrar opciones
    print("Menu \n")
    print("Presiona 1 para agregar")
    print("Presiona 2 para modificar")
    print("Presiona 3 para borrar")
    print("Presiona 4 para buscar")
    print("Presiona 5 para salir \n")
 
def Agregar():
    print("\nAgregar Productos \n")
    file=open("productos.txt","w")
    a = Producto()
 
    a.clave = input("Ingresa la clave del producto: ")
    a.nombre = input("Ingresa el nombre del producto: ")
    a.precio = input("Ingresa el precio del producto: ")
    lista.append(a)
    file.write(str(lista))
    file.close()
    print("\n")
    print("Los datos se guardaron correctamente. \n")
    opciones()
 
def Modificar():
    print("\nModificar Productos \n")
    nombre = input("Escribe el nombre del producto a modificar: ")
    for a in lista:
        if a.nombre == nombre:
 
            a.clave = input("Ingresa la clave del producto: ")
            a.nombre = input("Ingresa el nombre del producto: ")
            a.precio = input("Ingresa el precio del producto: ")
 
            #lista.append(a)
    print("Los datos se guardaron correctamente. \n")
 
    opciones()
 
def Borrar():
    print("\nBorrar Productos \n")
    nombre = input("Escribe el nombre del producto a modificar: ")
    for a in lista:
        if a.nombre == nombre:
            lista.remove(a)
    print("Los datos se borraron satisfactoriamente. \n")
 
    opciones()
 
def Buscar():
    print("\nBuscar Productos \n")
    nombre = input("Escribe el nombre del producto a buscar: ")
    for a in lista:
        if a.nombre == nombre:
            print ("CLAVE: "+ a.clave+", PRODUCTO: "+ a.nombre+ ", PRECIO: "+a.precio )
 
            opciones()
 
def mostrar():
    print("\n mostrar")
    a = Producto()
    for a in lista:
        print ("clave: "+ a.clave+", nombre: "+ a.nombre+ ", precio: "+ a.precio)
 
def Salir():
    exit
 
def menu():
    opciones()
    op=1
    while op > 0 and op <6:
        op = int(input("Selecciona una opción: "))
        if op == 1:
            Agregar()
        elif op == 2:
            Modificar()
        elif op == 3:
            Borrar()
        elif op == 4:
            Buscar()
        elif op == 5:
            mostrar()
menu()
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de algoritmo
Val: 819
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Como hago que los datos de una lista en Python se queden guardados en un archivo de texto?

Publicado por algoritmo (245 intervenciones) el 22/11/2019 18:32:33
Hola

Prueba con ésto:

1
2
3
4
lista.append(a)
for item in lista:
     file.write('%s, %s, %s\n' % (item.clave, item.nombre, item.precio))
file.close()

Espero que te sirva :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar