Python - leer un fichero

 
Vista:

leer un fichero

Publicado por Mario (11 intervenciones) el 06/06/2012 17:55:05
Quiero leer un fichero de texto, en el que tengo escrito esto:

3/4 5/6
2/3 11/6

O sea, números fraccionarios. Tengo este código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def leer():
    nombre = raw_input('fichero: ')
    M = []
    fichero = open(nombre, 'r')
    for linea in fichero:
 
        l = linea.strip().split("/")
        num = int(l[0].strip())
        if len(l)>1:
            den = int(l[1].strip())
        else:
            den = 1
 
        M.append(Fraccion(num,den))
 
    fichero.close()
    return M

Fraccion es una clase de números fraccionarios. Bien, pues cuando voy a ejecutarlo me sale este error : den = int(l[1].strip())
ValueError: invalid literal for int() with base 10: '4 5'

¿Alguien podría decirme qué debo cambiar del código?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

leer un fichero

Publicado por xve (1646 intervenciones) el 06/06/2012 22:00:21
Hola Mario, por el error que te da, es que no puede pasar a entero una cadena por que no todos los caracteres son en base10
Entre el 4 y el 5 hay un espacio.

Lo que no se ver, es porque razón quieres pasar ese valor a entero!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar