definir variables en una clase

aNgel rEsendiz g. sonajadiabolica en gmail.com
Mar Oct 17 16:54:56 CEST 2006


Que tal.

    Estas definiendo dos metodos privados (no veo ninguna razón para
que sean privados), y el segundo necesita ejecutarse antes del
primero, pero no veo que lo hagas, de hecho ni siquiera estas
instanciando la clase. No tengo manera de probar el codigo en este
momento, pero voy a intentar que funcione:


class leer:

    def abrir_archivo(self):

        fh = open("/tmp/todo.txt","r")
        self.igot = fh.readlines()
        fh.close()

    def buscar(self):

        for line in self.igot:
            if line.find("via") > -1 : #supongo que aplica para el
formato de tus archivos
                about = line.split()
                self.ip = about[3]
                self.ipp = re.findall(r'\b10.2.[0-9.]*',str(ip))
                self.oid = re.findall(r'\b1.3.6.1.[0-9.]*',str(igot))

mi_instancia=leer()
mi_instancia.abrir_archivo()
mi_instancia.buscar()

print mi_instancia.ipp
print mi_instancia.oid


ah, y por cierto, tampoco cierras el archivo que abres.

Saludos.

On 10/17/06, faramir hijo de senescal de gondor <faramirt en gmail.com> wrote:
> hola a todos
>
> gracias por la ayuda prestada dias anteriores,
>
> ahora me gustaria que me ayudaran con lo siguiente, tengo una clase que se
> llama leer, hace lo siguiente abre un archivo, busca una cadenas especificas
> i luego las guarda en dos variables,  y al final las muestra en la pantalla,
> pero cuando lo corro, me muestra un error que dice que ipp y oid no estan
> definidas, he intantado varias cosas pero ninguna me ha servido
>
>
> este es el codigo
>
> class leer:
>
>   def __abrir_archivo(self):
>
>         fh = open("/tmp/todo.txt","r")
>         igot = fh.readlines()
>
>
>   def __buscar(self):
>
>         for line in igot:
>                         if line.find("via") > -1 :
>                                 about = line.split()
>                                 ip = about[3]
>                                 print ip
>                                 ipp = re.findall(r'\b10.2.[0-9.]*',str(ip))
>                                 print ipp
>                                 oid = re.findall(r'\b1.3.6.1.[0-9.]*',
> str(igot))
>                                 print oid
>
> print ipp
> print oid
>
>
> CARLOS MARIO OSORIO
>
> Estudiante de Ingenieria Electrica
>
>
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
>
>
>


-- 
aNgel rEsendiz.!




Más información sobre la lista de distribución Python-es