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

Python脚本中input()正常运行,交互式导入为何报‘unexpected EOF while parsing’?

问题解决:import模块时触发'unexpected EOF while parsing'错误

原因

当你在交互式会话中执行import spam时,Python会运行模块里的所有代码。此时模块中的input()会等待你输入内容,但交互式环境在导入流程中处理输入的逻辑和直接运行脚本不同——如果输入不完整(比如没输入就结束),就会触发EOF解析错误。而直接在终端运行python3 spam.py时,程序正常等待你输入,输入完成后流程结束,所以不会报错。

解决办法

  • 推荐方案:隔离脚本执行代码
    把仅需直接运行脚本时才执行的代码放到if __name__ == '__main__':代码块中,这样导入模块时不会执行这部分代码,只有直接运行脚本时才会触发。修改后的spam.py代码如下:
    if __name__ == '__main__':
        input()
    
  • 特殊场景处理(不推荐)
    如果你确实需要在导入时执行input(),那在交互式环境执行import spam后,必须输入内容并回车结束输入(Unix/Linux下也可用Ctrl+D,Windows用Ctrl+Z结束输入),但这种做法会导致导入模块时必须手动输入,实用性很低。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 17:24:51