alguien me lo explica?
Sergio Rua
srua en esware365.net
Jue Feb 7 11:04:19 CET 2002
Hola,
Tengo un programa en el que uso una clase para almacenar
información sobre las particiones de cada uno de los discos
duros de un equipo. El caso es que según el orden de
inicialización de la clase, me funcionaba o no y no sé por qué.
Os pongo el código y a ver si algún buen samaritano me lo
explica.
class Partitions:
start=-1
end=-1
type=None
fs=None
mp=None
changed=0
size=0
class HardDisk:
""" Contenido del disco duro.
Chapuza: está puesto un máximo de 15 particiones
"""
device=None
nparts=0
free=0
partition={}
def __init__(self):
i=0
while i < 16:
self.partition[i]=Partitions()
i=i+1
############## Así funciona
hds={}
hdlist=[]
hds['/dev/sda']=HardDisk()
hds['/dev/sdb']=HardDisk()
hds['/dev/sda'].partition[0].fs="primero"
hds['/dev/sda'].partition[1].fs="segundo"
hds['/dev/sdb'].partition[2].fs="tercero"
hds['/dev/sdb'].partition[3].fs="cuarto"
print hds['/dev/sda'].partition[0].fs
print hds['/dev/sda'].partition[1].fs
print hds['/dev/sdb'].partition[2].fs
print hds['/dev/sdb'].partition[3].fs
############## Así NO funciona
hds={}
hdlist=[]
hds['/dev/sda']=HardDisk()
hds['/dev/sda'].partition[0].fs="primero"
hds['/dev/sda'].partition[1].fs="segundo"
hds['/dev/sdb']=HardDisk()
hds['/dev/sdb'].partition[2].fs="tercero"
hds['/dev/sdb'].partition[3].fs="cuarto"
print hds['/dev/sda'].partition[0].fs
print hds['/dev/sda'].partition[1].fs
print hds['/dev/sdb'].partition[2].fs
print hds['/dev/sdb'].partition[3].fs
Un saludo,
Sergio Rua <srua en esware.com>
Departamento de Desarrollo
http://esware365.net/~srua
Más información sobre la lista de distribución Python-es