elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Duda con bufferedreader python
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda con bufferedreader python  (Leído 2,348 veces)
SARGE553413

Desconectado Desconectado

Mensajes: 176


Ver Perfil
Duda con bufferedreader python
« en: 15 Febrero 2014, 03:27 am »

Hola a todos.

Uso Python 3.3.4.

Estoy haciendo una clase que lee líneas de un fichero.
Al constructor de esta clase le paso un parámetro llamado "reader". En el constructor de clase compruebo que el parámetro que me pasan es de tipo "reader", si no lo es, lanzo excepción.

Mi problema es que, no se por qué, el programa me da error cuando intento hacer el primer "readline()".

El error que me sale es:
Traceback (most recent call last):
  File "D:\Mis documentos\workspaces\Cosas\asd\p2.py", line 13, in <module>
    x = bf.readline()
AttributeError: '_io.TextIOWrapper' object has no attribute 'readinto'


¿Alguien me puede explicar que ocurre? gracias. Adjunto el código:

Código:
import threading
import io

class FileThread(threading.Thread):
    def __init__(self,reader):
        #aqí compruebo que es un BufferedReader
        if not (type(reader)==io.BufferedReader):
            raise AttributeError;
        self.n=0;
        self.m=0;
        self.s="";
        self.ls="";
        self.reader=reader;
        self.flag=False;
   
    def __largerLine(self):
        #El error ocurre en la siguiente linea
        self.s=self.reader.readline(); #ERROR
        self.ls=self.s;
        while(self.s):
            self.n=len(self.s)
            if(self.n>self.m):
                self.m=self.n;
                self.ls=self.s;
            self.s=self.reader.readline();

    def getLargerLine(self):
        return (None,self.ls)[self.flag]
   
    def run(self):
        self.__largerLine();
        self.flag=True;
   

#PRUEBAS:
fich = open("pr","r");
reader = io.BufferedReader(fich)
ft = FileThread(reader);
print(ft.getLargerLine())
ft.run();
l=ft.getLargerLine()
print(l)



En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda en Python
Scripting
Nigtz 0 2,666 Último mensaje 15 Marzo 2006, 01:03 am
por Nigtz
problema con BufferedReader
Java
wilmer.rondon 2 2,653 Último mensaje 19 Junio 2007, 21:49 pm
por wilmer.rondon
algún buffer en java que me permita leer hacia atrás? utilizo BufferedReader
Java
kinos 6 7,875 Último mensaje 1 Agosto 2009, 22:04 pm
por Danther
Pregunta sobre BufferedReader
Java
Aikanáro Anário 1 3,136 Último mensaje 28 Octubre 2011, 01:06 am
por Valkyr
Scanner o BufferedReader?
Java
whoamiCLAY 4 4,962 Último mensaje 18 Julio 2016, 05:41 am
por hectornunezrivas
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines