ValueError:python cod中以10为基数的int()的文本无效

2024-05-19 03:39:36 发布

您现在位置:Python中文网/ 问答频道 /正文

下面的代码行打开了一个名为document.txt的文档,看起来有点像这样。

3四五六六

3 2 8 9年

46个

with open('document.txt','r') as f:
        for line in f:
                farray = [int(i) for i in line.split(" ")]
                lArray.append(farray)

但我有以下错误。

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

这里有什么明显的我遗漏的东西吗?


Tags: 代码in文档txtforaswithline
3条回答

我猜文件的末尾有一个空行。当被剥离时,它将成为一个空字符串,不能被解析为int

删除空白行会使这项工作有效,但你可以把它看作是防御编程中的练习。正如我最喜欢的一位教授曾经告诉我的那样,“一个好的程序员是在穿过单行道之前,先看两边的人”。

您可能需要替换行skip,这在python中是这样的

\n

如果我是你,我的密码是:

f = open('document.txt','r')
temp = f.readlines()
array = []
for i in temp:
    i = i.replace("\n","")
    i = i.split(" ")
    for x in range(len(i)):
        i[x] = int(i)
    array.append(i)

我也经历过这个问题。你能做的最简单的事情就是 strip()方法或replace()方法。

希望这能帮助你找到答案。

相关问题 更多 >

    热门问题