【发布时间】:2011-08-09 15:47:25
【问题描述】:
我有一个包含一些十六进制数字的文本文件,我正在尝试将其转换为十进制。我可以成功转换它,但似乎在循环存在之前它读取了一些不需要的字符,所以我收到以下错误。
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: ''
我的代码如下
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)
每个十六进制数都换行输入
【问题讨论】:
-
好吧,使用调试器并找出导致问题的“x”值。也许您有一个带有 BOM 的文件?
-
@RestRisiko:如果有 BOM,错误消息会显示。不,它只是试图将空字符串
''提供给int。
标签: python