Crear múltiples instancias de un objeto y guardarlas en lista
Publicado por Manuel (3 intervenciones) el 18/05/2012 11:51:35
Hola a todos:
Tengo un txt que es un listado de ficheros de una carpeta, al haber hecho en la consola de windows "dir /s /n >listado.txt"
Pues bien, quiero analizar su contenido con un programa en python y quiero almacenar el nombre de la carpeta y el tipo de fichero. Para eso, uso el siguiente código:
El problema es que al escribir la salida, siempre me sale el mismo valor, el cual es el ÚLTIMO QUE INTRODUZCO. Es decir, estoy machacando siempre la misma posición de memoria.
Yo lo que quiero es crear nuevos objetos, para poder almacenar valores en la lista.
Llevo hora y media googleando y no consigo dar con los términos de búsqueda que me permitan encontrar la solución. ¿Me podéis echar una mano? Gracias
Tengo un txt que es un listado de ficheros de una carpeta, al haber hecho en la consola de windows "dir /s /n >listado.txt"
Pues bien, quiero analizar su contenido con un programa en python y quiero almacenar el nombre de la carpeta y el tipo de fichero. Para eso, uso el siguiente código:
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
class Fichero:
Nombre=""
Tipo=""
def __init__(self):
self.Nombre=""
self.Tipo=0
listaFicheros=[]
auxiliar = Fichero()
try:
linea = entrada.readline()
while linea:
#Recuperamos el nombre de la carpeta
nombre = linea[:linea.find('\\')]
#Comprobamos si se trata de una carpeta nueva o de una que ya estabamos
#analizando.
if auxiliar.Nombre != nombre:
# Si es proyecto nuevo lo primero que hacemos
# es guardar la informaci?n del anterior
listaProyectos.append(auxiliar)
auxiliar.Nombre=nombre
linea = entrada.readline()
for proyecto in listaProyectos:
salida.write(proyecto.Nombre+'\n')
except:
print "Error leyendo/escribiendo los resultados"
El problema es que al escribir la salida, siempre me sale el mismo valor, el cual es el ÚLTIMO QUE INTRODUZCO. Es decir, estoy machacando siempre la misma posición de memoria.
Yo lo que quiero es crear nuevos objetos, para poder almacenar valores en la lista.
Llevo hora y media googleando y no consigo dar con los términos de búsqueda que me permitan encontrar la solución. ¿Me podéis echar una mano? Gracias
Valora esta pregunta


0