Python错误消息ValueError:以10为基数的int()的文本无效:'';

Python错误消息ValueError:以10为基数的int()的文本无效:'';,python,string,file,int,Python,String,File,Int,我从文件中读取数据,都是数字。 我想把它改成int,然后它会显示这个错误消息。 我试图使用strip('\n'),但仍然出现此错误 ValueError: invalid literal for int() with base 10: '' 您的文件有一个空行(可能是最后一行?)。无法转换为整数的 无论如何,还有许多其他问题需要纠正,我怀疑您发布的代码会引发许多异常。您的文件有一个空行(可能是最后一行?)。无法转换为整数的 无论如何,还有许多其他问题需要纠正,我怀疑您发布的代码会引发许多异常。

我从文件中读取数据,都是数字。 我想把它改成int,然后它会显示这个错误消息。 我试图使用
strip('\n')
,但仍然出现此错误

ValueError: invalid literal for int() with base 10: ''

您的文件有一个空行(可能是最后一行?)。无法转换为整数的


无论如何,还有许多其他问题需要纠正,我怀疑您发布的代码会引发许多异常。

您的文件有一个空行(可能是最后一行?)。无法转换为整数的


无论如何,还有许多其他问题需要纠正,我怀疑您发布的代码会引发许多异常。

您的文件有一个空行(可能是最后一行?)。无法转换为整数的


无论如何,还有许多其他问题需要纠正,我怀疑您发布的代码会引发许多异常。

您的文件有一个空行(可能是最后一行?)。无法转换为整数的


无论如何,还有许多其他问题需要纠正,我怀疑您发布的代码会引发许多异常。

问题是您一直在检查第一行:

1958
1703200
1375035
978400
1962
1813500
1446593
971706
1966
1869400
1472054
987134
1970
2078000
1562916
1123000
1974
2419000
1896214
1044425
1978
2651000
1960900
1028854
1982
3119000
2105563
1404831
1986
3307000
2230354
1358160
1990
3650000
2225101
1362651
1994
4000000
2896519
1733471
1998
4257000
3119562
1939421
2002
4519000
3209648
1808720
2006
4821000
3264511
2107370
2010
5149729
3601268
2565589
此条件的计算结果永远不会为
False
,循环将无限期地运行,因为该条件在
循环期间不会在
中更新

比较:

line = infile.readline()
    while line !='':
此循环将永远运行,除非您在循环中的某个位置修改
num
(例如
num-=1

在本例中,您将循环输入,直到
readline()
到达文件末尾并返回空字符串。空字符串
'
不能转换为整数,显然,这就是为什么会出现错误

要解决这个问题,我将使用
尝试。。。除了…
开头的块:

num = 1
while num > 0:
    # do stuff
这将确保循环在没有数据可读取时结束


至于您的其他错误,以下是一些提示:

  • 查找需要为字符串但为整数的变量(如
    year
  • 检查未定义的全局变量(
    big\u year
    ?)
  • ,所以将空间放在它们所属的位置,这使得调试变得更加容易
  • 通过加倍转义百分比:
    %%

问题是您一直在检查第一行:

1958
1703200
1375035
978400
1962
1813500
1446593
971706
1966
1869400
1472054
987134
1970
2078000
1562916
1123000
1974
2419000
1896214
1044425
1978
2651000
1960900
1028854
1982
3119000
2105563
1404831
1986
3307000
2230354
1358160
1990
3650000
2225101
1362651
1994
4000000
2896519
1733471
1998
4257000
3119562
1939421
2002
4519000
3209648
1808720
2006
4821000
3264511
2107370
2010
5149729
3601268
2565589
此条件的计算结果永远不会为
False
,循环将无限期地运行,因为该条件在
循环期间不会在
中更新

比较:

line = infile.readline()
    while line !='':
此循环将永远运行,除非您在循环中的某个位置修改
num
(例如
num-=1

在本例中,您将循环输入,直到
readline()
到达文件末尾并返回空字符串。空字符串
'
不能转换为整数,显然,这就是为什么会出现错误

要解决这个问题,我将使用
尝试。。。除了…
开头的块:

num = 1
while num > 0:
    # do stuff
这将确保循环在没有数据可读取时结束


至于您的其他错误,以下是一些提示:

  • 查找需要为字符串但为整数的变量(如
    year
  • 检查未定义的全局变量(
    big\u year
    ?)
  • ,所以将空间放在它们所属的位置,这使得调试变得更加容易
  • 通过加倍转义百分比:
    %%

问题是您一直在检查第一行:

1958
1703200
1375035
978400
1962
1813500
1446593
971706
1966
1869400
1472054
987134
1970
2078000
1562916
1123000
1974
2419000
1896214
1044425
1978
2651000
1960900
1028854
1982
3119000
2105563
1404831
1986
3307000
2230354
1358160
1990
3650000
2225101
1362651
1994
4000000
2896519
1733471
1998
4257000
3119562
1939421
2002
4519000
3209648
1808720
2006
4821000
3264511
2107370
2010
5149729
3601268
2565589
此条件的计算结果永远不会为
False
,循环将无限期地运行,因为该条件在
循环期间不会在
中更新

比较:

line = infile.readline()
    while line !='':
此循环将永远运行,除非您在循环中的某个位置修改
num
(例如
num-=1

在本例中,您将循环输入,直到
readline()
到达文件末尾并返回空字符串。空字符串
'
不能转换为整数,显然,这就是为什么会出现错误

要解决这个问题,我将使用
尝试。。。除了…
开头的块:

num = 1
while num > 0:
    # do stuff
这将确保循环在没有数据可读取时结束


至于您的其他错误,以下是一些提示:

  • 查找需要为字符串但为整数的变量(如
    year
  • 检查未定义的全局变量(
    big\u year
    ?)
  • ,所以将空间放在它们所属的位置,这使得调试变得更加容易
  • 通过加倍转义百分比:
    %%

问题是您一直在检查第一行:

1958
1703200
1375035
978400
1962
1813500
1446593
971706
1966
1869400
1472054
987134
1970
2078000
1562916
1123000
1974
2419000
1896214
1044425
1978
2651000
1960900
1028854
1982
3119000
2105563
1404831
1986
3307000
2230354
1358160
1990
3650000
2225101
1362651
1994
4000000
2896519
1733471
1998
4257000
3119562
1939421
2002
4519000
3209648
1808720
2006
4821000
3264511
2107370
2010
5149729
3601268
2565589
此条件的计算结果永远不会为
False
,循环将无限期地运行,因为该条件在
循环期间不会在
中更新

比较:

line = infile.readline()
    while line !='':
此循环将永远运行,除非您在循环中的某个位置修改
num
(例如
num-=1

在本例中,您将循环输入,直到
readline()
到达文件末尾并返回空字符串。空字符串
'
不能转换为整数,显然,这就是为什么会出现错误

要解决这个问题,我将使用
尝试。。。除了…
开头的块:

num = 1
while num > 0:
    # do stuff
这将确保循环在没有数据可读取时结束


至于您的其他错误,以下是一些提示:

  • 查找需要为字符串但为整数的变量(如
    year
  • 检查未定义的全局变量(
    big\u year
    ?)
  • ,所以将空间放在它们所属的位置,这使得调试变得更加容易
  • 通过加倍转义百分比:
    %%