我正在尝试从python文件中读取数字。该文件仅包含数字。 ALl数字为小数!!
根据要求,这是文件内容:
25
4
2
6
7

我收到此错误:

Traceback (most recent call last):
    File "readfile.py", line 18, in <module>
    a.append(int(data[i]))
ValueError: invalid literal for int() with base 10: 'f'"


这是我的代码:

check=0
while(check!=1):
    file=raw_input("Plase state the file name:")
    print "\n"
    try:
            check=1
            fo=open(file,"r",1)
    except IOError:
            print "NO such file or directory"
            check=0

data=0
a=[]
i=0
for line in file:
    data=line.split()
    print data
    a.append(int(data[i]))
    i=i+1
print a

fo.close()

最佳答案

你在做...

for line in file:


你应该做...

for line in fo:


循环播放文件名字符串将无济于事。

另外,您需要在数据列表上修复迭代器i。或者,您可以执行list comprehension而不是固定迭代器:

a += [int(x) for x in data]

10-07 19:38
查看更多