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

Python调用pytesseract报No such file or directory错误排查

错误触发核心原因
  • 代码传参逻辑错误:循环中已经通过os.path.join(folder_path, image)拼接得到图片的完整绝对路径并存入images变量,但调用pytesseract.image_to_string()时传入的是仅带文件名的image参数。程序默认在Python脚本当前运行的工作目录下查找该文件,和图片实际存储路径不匹配,直接触发文件不存在报错。
  • 存在两类次要触发可能:
    • Tesseract程序路径配置错误:当前配置的tesseract_cmd路径未带Windows可执行文件后缀.exe,若系统未做可执行文件后缀关联,会找不到Tesseract主程序抛出同类错误
    • 遍历逻辑未做过滤:os.listdir()会列出目录下所有内容,包括子文件夹、系统隐藏文件、非图片格式文件,这类内容传入OCR接口也会触发文件不存在/无法读取的错误
排查方向
  • 优先修正传参错误:确保传入image_to_string()的参数是拼接完成的图片绝对路径,而非单独的文件名
  • 校验Tesseract路径:手动打开C:\Program Files\Tesseract-OCR\目录,确认tesseract.exe存在,配置tesseract_cmd时补全.exe后缀
  • 增加遍历过滤逻辑:遍历目录时跳过子文件夹、非图片格式文件,避免无效路径传入识别接口
  • 路径权限校验:打印拼接后的完整文件路径,手动确认路径可访问、当前运行Python的用户对目标目录有读取权限,排除路径空格、特殊字符导致的路径解析失败问题
修复后参考代码
import os
import pytesseract

folder_path = r"C:\Users\User\Desktop\Alkesh Patil\velocity 16apr notes\06_13_OCR_PDF2IMAGE\pcard"
# 补全exe后缀,确保Tesseract路径正确
pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract-OCR\tesseract.exe"
image_list = os.listdir(folder_path)

pan_num = []
dob_num = []

for image in image_list:
    image_full_path = os.path.join(folder_path, image)
    # 跳过子文件夹
    if not os.path.isfile(image_full_path):
        continue
    # 仅处理常见图片格式
    if not image.lower().endswith(('.png', '.jpg', '.jpeg', '.bmp', '.tiff')):
        continue
    print(f"当前处理文件:{image_full_path}")
    # 传入完整绝对路径做识别
    text = pytesseract.image_to_string(image_full_path)
    print(text)

内容的提问来源于stack exchange,提问作者Alkesh Shivaji Patil

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 03:03:22