Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: wACtOr en 15 Febrero 2011, 21:30 pm



Título: [PYTHON]Guardar una lista en TXT
Publicado por: wACtOr en 15 Febrero 2011, 21:30 pm
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
  1. def ftp(m,a,d):
  2.        datos = m +': ' +a +'\n'
  3.        try:
  4.                ftp = ftplib.FTP(ftp_servidor, ftp_usuario, ftp_clave)
  5.                try:
  6.                        ftp.retrbinary('RETR ' + d +'.txt',open(d +'.txt','w').write)
  7.                        #print 'Descargado del servidor.'
  8.                        fi = open(d +'.txt', 'r')
  9.                        linea = fi.readlines()
  10.                        fi.close()
  11.                        a = 0
  12.                        for i in linea[0:]:
  13.                                if m in i:
  14.                                        fi = open(d +'.txt', 'w')
  15.                                        linea[a] = datos
  16.                                        print linea
  17.                                        fi.write(linea)
  18.                                        fi.close()
  19.                                        break
  20.                                else:
  21.                                        fi = open(d +'.txt', 'a')
  22.                                        fi.write(datos)
  23.                                        fi.close()
  24.                                a = a + 1
  25.                        #print 'Archivo modificado. Subiendo...'
  26.                        #f = open(d +'.txt', 'r')
  27.                        #ftp.storbinary('STOR ' + d +'.txt', f)
  28.                        #print 'Subido al servidor.'
  29.                        #f.close()
  30.                        #ftp.quit()
  31.                        #os.remove(d +'.txt')
  32.                        #os.system('cls')
  33.  
  34.                except:
  35.                        print 'No se a podido descargar/subir el archivo'
  36.        except:
  37.                print 'No se ha podido conectar al servidor ' + ftp_servidor
  38.  
  39.  

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

este es el contenido del archivo:

Código:
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ódigo:
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.