Python批量重命名文件的两种实现方案

Miles
Miles
发布时间:2026-10-13 | 5人浏览过
原创

本文介绍使用Python进行批量文件重命名的两种常见场景。第一种方案通过遍历目录并按序号重新命名文件,需注意os.listdir返回顺序可能不固定;第二种方案针对特定目录结构,将图片与XML文件按对应关系同步重命名为连续序号。代码示例展示了路径处理、文件名拆分及重命名逻辑,适用于日常文件整理需求。

这是初始版本,虽然功能上可以实现重命名,但后续发现一个问题:文件被重命名后的顺序可能与预期不符,因为文件列表的遍历顺序可能发生变化。

import os
 
 
def reename():
 nm=1
 pathh="/home/huangyaya/file/image/pic/chips"
 filelist=os.listdir(pathh)
 for files in filelist:
  Olddir=os.path.join(pathh,files)
  filename=os.path.splitext(files)[0]
  filetype=os.path.splitext(files)[1]
  Newdir=os.path.join(pathh,str(nm)+'.'+filetype)
  os.rename(Olddir,Newdir)
  nm+=1
 
reename()

接下来展示一个更完善的解决方案,旨在解决上述顺序问题,并处理不同目录下的文件对应关系。

import os
import pdb
 
#dir_ = os.getcwd()
#dir_ += '/cips'
#os.chdir(dir_)
 
 
path_A = "/home/huangyaya/file/image/pic/wine"
path_B = "/home/huangyaya/file/image/pic/wine_output"
file_number = 1
num = 0
A_list = os.listdir(path_A)
B_list = os.listdir(path_B)
A_list_num = 0
B_list_num = 0
 
for A_str in A_list:
 A_str_front = A_str[:-4]
 B_str = A_str_front + '.xml'
 
 os.rename(path_A + '/' + A_str,str(file_number) + '.jpg')
 os.rename(path_B + '/' + A_str_front + '.xml',str(file_number) + '.xml')
 
 file_number += 1

以上就是Python批量读取并重命名文件的完整示例。希望这些内容能为您提供参考,如果您觉得有用,欢迎支持本站。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表