You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

读取Excel脚本突发Missing parentheses in call to 'print'错误及文件定位求助

错误成因与文件定位方案

一、错误成因

这个报错的核心是Python版本兼容问题:

  • Python 2里print是语句,写print "内容"就合法;但Python 3里print是内置函数,必须加括号写成print("内容")。
  • 之前脚本运行正常,要么是本地Python环境从2切换到了3,要么是用到的Excel读取依赖库(比如xlrd、openpyxl、pandas依赖的库等)出现更新/损坏,导致其内部的__init__.py文件里存在Python 2风格的print语句,在Python 3环境下执行触发语法错误。
  • 你项目目录里的__init__.py行数不够,说明报错的不是你自己写的文件,而是第三方依赖库里的__init__.py。

二、定位目标__init__.py的方法

  • 利用模块属性直接查找
    找到脚本里用来读Excel的库(比如import xlrd就找xlrd),在脚本开头或者命令行执行:

    import xlrd  # 替换成你实际用的Excel库
    print(xlrd.__file__)
    

    输出的路径就是该库的__init__.py所在位置,打开文件跳转到1187行就能看到问题代码。

  • 查看完整报错栈
    如果能拿到完整的报错回溯信息(Traceback),里面会显示报错文件的完整绝对路径,直接复制路径打开即可。

  • 从虚拟环境/全局site-packages查找

    • 用了虚拟环境的话,去虚拟环境目录下的Lib/site-packages文件夹里,找到对应的Excel依赖库文件夹,里面的__init__.py就是目标文件。
    • 全局环境的话,Windows一般在C:\PythonXX\Lib\site-packages,Linux/macOS在/usr/local/lib/pythonX.X/site-packages或者~/.local/lib/pythonX.X/site-packages里。
  • 用sys.path排查
    在脚本开头加入代码打印Python的模块搜索路径,依赖库肯定在这些路径里:

    import sys
    print(sys.path)
    

    逐个路径找对应的依赖库文件夹即可。

内容的提问来源于stack exchange,提问作者chunming huang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 01:49:53