Modificar un archivo de texto
Publicado por Daniel (1 intervención) el 01/12/2014 03:33:32
Hola, tengo un problema con este programa. La idea de este programa, es que a partir de un archivo ya creado, leer la informacion de este y modifica la parte que quiera modificar. El archivo es .txt. Pero el problema es que no modifica la informacion, solo la guarda en memoria. Alguien me podria ayudar con eso porfavor? Se los agradeceria.
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
def read():
arch=open('Obras.txt','r')
p=[]
x=int(input("Digite la posicion en donde se encuentra la informacion: "))
##Se recorre el archivo y se coloca en una lista para que quede como una matriz
for i in arch:
line=i.strip().split(',')
pos=line[0]
n=line[1]
cat=line[2]
pais=line[3]
act=line[4]
hi=line[5]
hf=line[6]
s=line[7]
p.append(line)
##recorre la lista hasta la longitud de la lista
arch.close()
arch=open('obras.txt','a')
for i in range(len(p)):
for j in range(8):
##si la posicion en el archivo es igual a la q el usuario de ingreso
##entonces entro a ver esa fila y miro que modificar
if p[x-1][0]==pos:
print('Pelicula:',n)
print('Categoria: ',cat)
print('Pais: ',pais)
print('Actores: ',act)
print('Hora de Inicio:',hi)
print('Hora Final:',hf)
print('Sala:',s)
print('Que desea modificar: ')
print('1.Nombre:')
print('2.Categoria:')
print('3.Pais:')
print('3.Actores ')
print('4.Hora Inicial')
print('5.Hora Final')
print('6.Sala')
print('7.Salir')
res=int(input('Digite su opcion: '))
while (res!=7):
if(res==1):
l=input('Digite el nombre de la pelicula')
p[x-1][1]=l
elif(res==2):
y=input('Categoria:')
p[x-1][2]=y
elif(res==3):
w=input('Pais: ')
p[x-1][3]=w
elif(res==4):
a=input('Actores: ')
p[x-1][4]=a
elif(res==5):
t=input('Hora Inicial: ')
p[x-1][5]=t
elif(res==6):
u=input('Hora Final: ')
p[x-1][6]=u
arch.close()
for i in range(len(p)):
for j in range(len(p[i])-1):
temp=p[i][j]+','
arch.write(temp)
temp=p[i][j]+'\n'
arch.write(temp)
arch.close()
Valora esta pregunta
0