ValueError:int()与基数10的无效文字:''
问题描述:
我在Python中遇到了这个错误。ValueError:int()与基数10的无效文字:''
我正在从一个文本文件中读取数据,将该值放入一个变量中并尝试转换为整数。 这是我的代码
fo = open("HCTC3152_INF.TXT", "r")
line1 = fo.readline()
在52:56之间的部分是一年,所以它们总是像2013年或2014年
ChangeOverStartDateYYYY= int(line2[52:56],10)
print ChangeOverStartDateYYYY
这样的话,打印总是在命令提示符这些年来,在最后出现错误。
答
你得到一个空行,或者至少一行短于比52个字符。
跳过那些行:
if not line.strip():
跳过空行(仅由空白的),或测试一个最小长度:
if len(line) >= 56:
的'INT之前(线...)' ,做一个'print line2 [52:56]'以确保你得到了你想要的东西。也许一行不是正确的格式,或者你走一条较短的行... – fredtantini 2014-10-28 09:34:39
那么,我刚刚做了你所说的,结果是: 当打印“这是从行:”+ line2 [52:56 ] 结果是:这是从行:2013 然后,当我打印int(line2 [52:56],10), 结果是:2013 但仍然给我的价值错误! :( – 2014-10-28 09:39:13
HI! 我解决了,我想到了空行,因为我的代码是在while循环中,所以最后一行是空的,这就是我给我一个错误的原因! – 2014-10-28 09:45:08