我正在尝试在python中创建一个刽子手游戏。我将在txt文件中使用我将用于游戏的单词,我希望逐行读取此文件并将内容附加到列表中以供使用;但是我遇到了这个TypeError。 ('builtin_function_or_method'类型的对象没有len())
try:
f = open(input("Enter a filename: "))
except:
print("Cannot open file")
quit()
myList = []
myLine = f.readline()
print(myLine)
print(len(myLine))
while len(myLine) >0 :
myList.append(myLine)
myLine = f.readline
错误与
有关while len(myLine) >0 :
这让我很困惑,因为上面的print(myLine)和print(len(myLine))调用正常工作,输出了行的内容及其长度;只有当我进入while循环时才会出现此错误。
任何帮助将不胜感激, 非常感谢。
答案 0 :(得分:4)
在你的while循环中,你可能意味着:
myLine = f.readline()
如果你没有调用方法(例如在那里有括号),那么你要为myLine
(而不是方法的结果)分配方法,并且方法有没有明确的长度。
尽管如此,有一种更简单的方法来获取文件中的行列表:
myList = list(f)
应该很好地完成这项工作。