python - 类型错误 : object of type 'builtin_function_or_method' has no len()

标签 python

我正在尝试用 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/

相关文章:

python - 如何使用python删除文件夹内的所有文件夹?

python - 操作错误 : (1101, BLOB、TEXT、GEOMETRY 或 JSON 列 field_name 不能有默认值)

python - 相对路径没有这样的文件或目录

Python 模块错误仅在 Windows 10 中出现?

python - Django 静态文件服务与 React Router 冲突

python - 在我的 Eclipse 项目中重命名源文件logging.py之一后,无法导入logging.py

python - 在 python 中询问一个数字是否确实存在并且在 python 中未被屏蔽的方法是什么

python - 在 Django 1.5/1.6 中设置两种不同类型的用户

python - 为什么 Pygame 上不允许拖放事件?

python - 按照 Werkzeug 教程 "shortly"后出现错误 111