Colab上传本地文件后open读取报'tuple' object is not callable错误
报错原因
这问题和你用的Chrome 102版本没有关联,核心是你把Python内置的open函数给覆盖了。
你之前运行过的代码里肯定写过类似open = (a,b)这种把元组赋值给open变量的语句,这时候open已经不是用来打开文件的内置函数,只是个普通元组对象,你再加括号尝试调用它,自然会抛出TypeError: 'tuple' object is not callable错误。
另外你贴的读文件代码写的是打开test.txt,报错信息里读取的却是test.csv,文件名要自己核对准确,不然修复这个错误后还会触发文件不存在的问题。
解决方法
- 最省事的方案:直接重启Colab运行时。点击页面顶部菜单栏「运行时」→「重启运行时」,之前错误赋值的变量会被全部清空,之后按顺序重新执行文件上传、文件读取的代码即可正常运行。
- 如果不想重启丢失当前已有的计算结果,可以先执行两行代码把被覆盖的内置
open函数恢复:
import builtins open = builtins.open
执行完成后再运行文件读取代码就能正常打开文件。
避坑提醒
不要用Python内置函数、关键字作为自定义变量名,除了open之外,常见容易被误覆盖的内置名称还有list、dict、str、int、print,只要给这些名称赋了其他类型的值,后续调用时都会触发同类的「对象不可调用」报错。
内容的提问来源于stack exchange,提问作者honeymoon
相关产品推荐
相关产品推荐

