Python批量重命名tif文件时嵌套循环失效报文件不存在错误如何解决
重命名代码修复方案
问题根因
- 缺少
b变量重置逻辑:当b>7触发a递增时,没有把b重新设置为1,导致b持续累加超过7,尝试访问不存在的x.8类文件 os.path.join用法错误:该函数作用是拼接多段路径片段,你把带占位符的完整路径写在os.path.join参数内,再在外部调用format,会生成非法路径- 文件名规则不匹配:需求中源文件格式为
a.b.tif、目标格式为a.b,但你的代码里源文件写的是{}.{}.tif.tif、目标是{}.{}.tif,和实际需求不符
修复后可运行代码
import os root_path = "D:\\file" # 直接用for循环遍历a、b的取值范围,逻辑更清晰不易出错 for a in range(20, 281): for b in range(1, 8): old_file = os.path.join(root_path, f"{a}.{b}.tif") new_file = os.path.join(root_path, f"{a}.{b}") # 加一步文件存在判断,避免异常中断 if os.path.exists(old_file): os.rename(old_file, new_file) else: print(f"文件不存在,跳过:{old_file}")
如果你的源文件确实是多了一层.tif后缀(即实际文件名是a.b.tif.tif),只需要把old_file的后缀改成f"{a}.{b}.tif.tif"即可。
内容的提问来源于stack exchange,提问作者user123
相关产品推荐
相关产品推荐

