下面的代码行打开了一个名为document.txt的文档,它看起来有点像这样。
3 4 5 6 6
3 2 8 9
4 6
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: ''这里有什么明显的东西我错过了吗?
发布于 2017-04-19 02:42:06
我猜在文件的末尾有一个空行。当去掉它时,它变成了一个空字符串,不能被解析为int。
删除空行将使这一工作,但您可以认为这是一个防御性编程的练习。正如我最喜欢的一位教授曾经对我说的那样,“一个好的程序员在穿越一条单向的街道之前,是双向的”。
发布于 2017-04-19 02:47:59
您可能需要替换行跳转,这在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)发布于 2019-01-29 14:26:30
我也经历过这个问题。您可以做的简单事情是要么使用strip()方法,要么使用replace()方法。
希望这能帮你找到答案。
https://stackoverflow.com/questions/43485393
复制相似问题