我正在尝试用 Python 创建一个刽子手游戏。我在 txt 文件中有我将在游戏中使用的单词,我希望逐行读取该文件并将内容附加到列表中以供使用;但是我遇到了这个类型错误。 (“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 循环时,我才会收到此错误。
任何帮助将不胜感激, 非常感谢。
最佳答案
在你的 while 循环中,你的意思可能是:
myLine = f.readline()
如果您不调用该方法(例如,那里有括号),那么您就是将方法分配给 myLine
(而不是方法的结果)和方法没有定义的长度。
但值得一提的是,有一种更简单的方法可以获取文件中的行列表:
myList = list(f)
应该很好地完成这项工作。
关于python - 类型错误 : object of type 'builtin_function_or_method' has no len(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20463477/