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

如何为每个PDF创建独立目录并将转换后的JPG存入其中?

解决方案

你只需要在处理每个PDF文件时,先创建对应名称的目录,再将生成的JPG文件存入该目录即可,关键改动如下:

  • 创建独立目录:基于PDF文件名生成目录路径,使用os.makedirs()创建目录,添加exist_ok=True参数避免目录已存在时抛出异常
  • 修正文件保存路径:将JPG文件的保存路径改为刚创建的目录下,用os.path.join()拼接路径更规范,避免手动拼接路径出现错误

修改后的完整代码:

import glob, sys, fitz, os, shutil

zoom_x = 2.0
zoom_y = 2.0
mat = fitz.Matrix(zoom_x, zoom_y)  # 提升分辨率
all_files = glob.glob('/Users/homefolder/Downloads/*.pdf')
print(all_files)

for filename in all_files:
    doc = fitz.open(filename)
    head, tail = os.path.split(doc.name)
    save_file_name = tail.split('.')[0]
    
    # 定义该PDF对应的目录路径
    pdf_dir = f'/Users/homefolder/Downloads/{save_file_name}'
    # 创建目录(如果已存在则不报错)
    os.makedirs(pdf_dir, exist_ok=True)
    
    for page in doc:
        pix = page.get_pixmap(matrix=mat)
        # 拼接目录下的JPG文件路径
        filepath_save = os.path.join(pdf_dir, f'{page.number}.jpg')
        pix.save(filepath_save)

# 验证:查看所有生成的JPG文件(包含子目录)
sample = glob.glob('/Users/homefolder/Downloads/**/*.jpg', recursive=True)
print(sample)

额外说明:

  • os.path.join()会根据系统自动处理路径分隔符,比手动拼接字符串更可靠
  • glob的recursive=True参数可以遍历所有子目录下的JPG文件,方便验证生成结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 04:24:46