Python调用os.rename批量重命名png文件报WinError 2找不到文件如何解决
报错原因与修复方案
- 核心错误原因:你硬编码了文件名格式
frame_0{i}_delay-0.04s.png,但实际文件的命名规则和你预设的不一致,同时没有校验当前Python运行的工作目录是否为图片存放目录。 - 修复方案:
- 先校验工作目录,在代码开头手动指定图片文件夹的绝对路径,避免相对路径定位错误
- 不要手动生成文件名,直接遍历目标目录下所有符合要求的png文件再批量重命名,避免硬编码规则匹配失败的问题
import os # 替换为你的图片文件夹绝对路径,Windows路径可以用斜杠/或者双反斜杠\\,示例:"C:/Users/xx/Desktop/图片文件夹" os.chdir("替换为你的图片文件夹绝对路径") count = 0 # 遍历目录下所有文件 for filename in os.listdir(): # 筛选png格式、且文件名(不含后缀)包含"."的文件 if filename.endswith(".png") and "." in filename.rsplit(".", 1)[0]: os.rename(filename, f"{count}.png") count += 1 # 只处理47个文件的话,达到数量后直接终止循环 if count >= 47: break
- 补充说明:如果你需要保留原文件名的序号对应关系,可以提取原文件名中
frame_和_delay之间的数字作为新文件名,不需要按遍历顺序计数。
内容的提问来源于stack exchange,提问作者Nobody
相关产品推荐
相关产品推荐

