[PYTHON]Guardar una lista en TXT

Iniciado por wACtOr, 15 Febrero 2011, 21:30 PM

0 Miembros y 1 Visitante están viendo este tema.

wACtOr

Buenas, tengo una dudilla con python.

Estoy intentando guardar el contenido de una lista(que preveiamente e obtenido abriendo un txt y guardando todo en una variable) y guardarlo en el mismo txt.

Lo que intento hacer es buscar una palabra en una linea de ese archivo, y si esta, modificar esa linea en la lista y guardar toda la lista remplazando todo lo que habia en el archivo.

El caso es que lee la lista, pero no me la guarda, simplemente me crea un archiv vacio.

variable d es el nombre del firechero.
variable m es la palabra a buscar.


Código (python) [Seleccionar]
def ftp(m,a,d):
       datos = m +': ' +a +'\n'
       try:
               ftp = ftplib.FTP(ftp_servidor, ftp_usuario, ftp_clave)
               try:
                       ftp.retrbinary('RETR ' + d +'.txt',open(d +'.txt','w').write)
                       #print 'Descargado del servidor.'
                       fi = open(d +'.txt', 'r')
                       linea = fi.readlines()
                       fi.close()
                       a = 0
                       for i in linea[0:]:
                               if m in i:
                                       fi = open(d +'.txt', 'w')
                                       linea[a] = datos
                                       print linea
                                       fi.write(linea)
                                       fi.close()
                                       break
                               else:
                                       fi = open(d +'.txt', 'a')
                                       fi.write(datos)
                                       fi.close()
                               a = a + 1
                       #print 'Archivo modificado. Subiendo...'
                       #f = open(d +'.txt', 'r')
                       #ftp.storbinary('STOR ' + d +'.txt', f)
                       #print 'Subido al servidor.'
                       #f.close()
                       #ftp.quit()
                       #os.remove(d +'.txt')
                       #os.system('cls')
                       
               except:
                       print 'No se a podido descargar/subir el archivo'
       except:
               print 'No se ha podido conectar al servidor ' + ftp_servidor



Lo tengo todo comentado para que no me suba nada al servidor.

este es el contenido del archivo:


Raining, Si
wactor, Tarde.
lorkino, Si
granya, Si
glassy, No
crejo2003, Si
sheikan, Si
neo_O, Tarde.
marihuana, Si
litro, Si


Pongo la salida de consola:

C:\Users\wactor\Desktop\Proyecto Asistencias WH\Sources>asistencias.py

Hola wactor


Selecciona la opcion de asistencia para el Lunes

-1- Si, voy a estar
-2- No, No entreno
-3- Llegare tarde
-4- Omitir
-5- Borrar archivo

Elige una opccion: 2
['Raining, Si\n', 'wactor, No\n', 'lorkino, Si\n', 'granya, Si\n', 'glassy, No\n
', 'crejo2003, Si\n', 'sheikan, Si\n', 'neo_O, Tarde.\n', 'marihuana, Si\n', 'li
tro, Si\n']
No se a podido descargar/subir el archivo



En teoria al modificar la lista, la linea wactor, tarde me la modifica por otra que yo le especifico. al imprimir lista si que me sale como deberia, con sus saltos de linea al final y demas, pero cuando toca guardar, no me guarda.

si necesitais alguna cosilla me lo decis.

gracias.