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

Python使用PIL转图片为PDF时如何在报错后继续执行后续代码

解决方案

你可以给每个图片的转换流程套独立的try...except异常捕获块,单个任务抛出的异常会被当场捕获处理,不会终止后续代码运行。

直接修改版(基于原有代码改动最小)

from PIL import Image

# 处理1.jpeg
try:
    image1 = Image.open(r'1.jpeg')
    im1 = image1.convert('RGB')
    im1.save(r'1.pdf')
except Exception as e:
    # 可自定义报错处理逻辑,这里仅打印错误信息
    print(f"处理1.jpeg时出错:{str(e)}")

# Part 2 处理2.jpeg
try:
    image1 = Image.open(r'2.jpeg')
    im1 = image1.convert('RGB')
    im1.save(r'2.pdf')
except Exception as e:
    print(f"处理2.jpeg时出错:{str(e)}")

优化封装版(适合批量处理多文件)

如果后续要处理更多图片,可把转换逻辑封装成函数,批量传文件路径处理即可:

from PIL import Image

def jpg_to_pdf(jpg_path: str, pdf_path: str) -> None:
    try:
        image = Image.open(jpg_path)
        image.convert('RGB').save(pdf_path)
        print(f"{jpg_path} 转换成功,已保存为 {pdf_path}")
    except Exception as e:
        print(f"{jpg_path} 转换失败:{str(e)}")

# 调用处理对应文件
jpg_to_pdf(r'1.jpeg', r'1.pdf')
jpg_to_pdf(r'2.jpeg', r'2.pdf')

# 后续新增文件只需新增一行调用即可,例如:
# jpg_to_pdf(r'3.jpeg', r'3.pdf')

说明:上面的Exception会捕获所有常规运行时错误,包含文件不存在、文件格式错误、权限不足等所有可能导致转换失败的异常,你也可以根据需要缩小捕获的异常类型,比如只捕获FileNotFoundError来专门处理文件不存在的情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 10:51:03