Tengo un archivo de texto con algunos números hexadecimales y estoy tratando de convertirlo a decimal. Pude convertirlo con éxito, pero parece que antes de que exista el bucle lee algún carácter no deseado y me aparece el siguiente error.Cómo iterar sobre el archivo en python
Traceback (most recent call last):
File "convert.py", line 7, in <module>
print >>g, int(x.rstrip(),16)
ValueError: invalid literal for int() with base 16: ''
Mi código es el siguiente
f=open('test.txt','r')
g=open('test1.txt','w')
#for line in enumerate(f):
while True:
x=f.readline()
if x is None: break
print >>g, int(x.rstrip(),16)
Cada número hexadecimal viene en una nueva línea para la entrada
Bueno, tomar el depurador y averiguar cuál es el valor de 'x' es la causa del problema. Tal vez tienes un archivo con una lista de materiales? –
@RestRisiko: Si hubiera una lista de materiales, el mensaje de error mostraría eso. No, simplemente intentó alimentar la cadena vacía '''' a 'int'. – delnan