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 

这样的话,打印总是在命令提示符这些年来,在最后出现错误。

+0

的'INT之前(线...)' ,做一个'print line2 [52:56]'以确保你得到了你想要的东西。也许一行不是正确的格式,或者你走一条较短的行... – fredtantini 2014-10-28 09:34:39

+0

那么,我刚刚做了你所说的,结果是: 当打印“这是从行:”+ line2 [52:56 ] 结果是:这是从行:2013 然后,当我打印int(line2 [52:56],10), 结果是:2013 但仍然给我的价值错误! :( – 2014-10-28 09:39:13

+1

HI! 我解决了,我想到了空行,因为我的代码是在while循环中,所以最后一行是空的,这就是我给我一个错误的原因! – 2014-10-28 09:45:08

你得到一个空行,或者至少一行短于比52个字符。

跳过那些行:

if not line.strip(): 

跳过空行(仅由空白的),或测试一个最小长度:

if len(line) >= 56: