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

运行PaddleOCR代码时提示result未定义,请求协助排查

问题排查:PaddleOCR代码中'result未定义'异常

你的问题出在%timeit魔法命令的作用域特性上:

  • %timeit会将其后面的代码块放在局部作用域中执行,即便是赋值语句result = ocr.ocr(...),也只会在这个局部作用域内创建变量,外部的for循环无法访问到它。

解决方案

方案1:拆分计时与结果获取

先执行OCR获取结果,再单独对OCR调用计时,这样既保留计时功能,又能正常使用result:

# 先获取结果,供后续循环使用
result = ocr.ocr(img_path, cls=True)
# 单独对OCR调用计时,不影响变量作用域
%timeit ocr.ocr(img_path, cls=True)
# 正常遍历结果
for line in result:
    print(line)

方案2:通过可变对象突破作用域(如果需要在计时同时保留结果)

利用列表这类可变对象的特性,让%timeit内的赋值能被外部访问:

result_list = []
# 多次执行时会把结果追加到列表,最后取其中一个即可
%timeit result_list.append(ocr.ocr(img_path, cls=True))
# 取最后一次执行的结果
result = result_list[-1]
for line in result:
    print(line)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 04:45:54