Python批量重命名文件的两种实现方案
本文介绍使用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批量读取并重命名文件的完整示例。希望这些内容能为您提供参考,如果您觉得有用,欢迎支持本站。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









