AttributeError:从文件读取时,“ str”对象没有属性“ readline”

时间:2018-10-21 05:47:03

标签: python

我运行以下代码:

file=open(filename, 'r')

line=filename.readline()
totallines=0
total=0
while line != "":
    amount=float(line)
    print(format(amount, '.2f'))
    line=filename.readline()
    totallines+=1
    total+=amount
avg=total/totallines
print("The average of the numbers is", format(avg, '.2f'))

它给了我这个错误 AttributeError:'str'对象没有属性'read'

我不明白自己在做什么错?

1 个答案:

答案 0 :(得分:2)

您正在呼叫文件名,它是一个字符串,而不是此处的 file

file=open(filename, 'r')
line=filename.readline()

应该为 line = file.readline()

为了改善代码,我建议您使用 with as ,这是更快的执行方式,除了更多可读

with open(filename, 'r') as file
line=file.readline()