如何用Python基于子文件夹名批量重命名多子文件夹内PDF文件
批量遍历子文件夹重命名PDF文件
优化代码实现
用os.walk()递归遍历目标目录,自动处理所有Operator子文件夹内的PDF文件,代码如下:
import os # 替换为你的County文件夹路径,示例:C:\\State\\County 或 r"C:\State\County" base_county_path = "C:\\State\\County" # 遍历County下所有子目录 for root, _, files in os.walk(base_county_path): # 仅处理名为Operator的文件夹 if os.path.basename(root) == "Operator": # 遍历当前文件夹内的PDF文件 for count, filename in enumerate(files): if filename.lower().endswith(".pdf"): _, file_ext = os.path.splitext(filename) new_filename = f"Operator{count}{file_ext}" # 拼接完整路径,防止因工作目录问题找不到文件 old_full_path = os.path.join(root, filename) new_full_path = os.path.join(root, new_filename) os.rename(old_full_path, new_full_path)
关键改进点
- 自动遍历:通过
os.walk()无需手动逐个指定Operator文件夹,自动扫描County下所有符合条件的子目录 - 精准过滤:加入PDF后缀判断,避免误操作其他格式文件
- 路径安全:用
os.path.join()拼接完整文件路径,解决原代码依赖当前工作目录的问题 - 保留命名规则:延续你原有的
OperatorX.pdf命名格式
注意事项
- 运行前务必备份文件,防止意外导致文件丢失
- 路径中的反斜杠需用双写
\\,或使用原始字符串(在路径前加r) - 若Operator文件夹内有非PDF文件,代码会自动跳过不处理
内容的提问来源于stack exchange,提问作者Geodude1989
相关产品推荐
相关产品推荐

