Python 批量修改文件名称一个简单实用的自动化脚本平时处理大量文件时经常会遇到需要批量修改文件名称的情况。例如下载了一批图片需要统一增加前缀导出的数据文件名称不规范项目文件需要按照规则重新命名。如果文件数量比较少可以手动修改。但是几十个甚至几百个文件一个个操作效率非常低。今天记录一个使用 Python 实现批量重命名的小工具。一、准备测试目录假设目录images/ 001.jpg 002.jpg 003.jpg希望修改成photo_001.jpg photo_002.jpg photo_003.jpg二、Python 实现批量重命名代码如下importos folder./imagesprefixphoto_filesos.listdir(folder)forfilenameinfiles:old_pathos.path.join(folder,filename)ifos.path.isfile(old_path):name,extos.path.splitext(filename)new_nameprefixnameext new_pathos.path.join(folder,new_name)os.rename(old_path,new_path)print(filename,-,new_name)运行后001.jpg - photo_001.jpg 002.jpg - photo_002.jpg 003.jpg - photo_003.jpg三、代码解析获取目录文件os.listdir(folder)可以返回目录中的所有文件和文件夹。例如[001.jpg,002.jpg]分离文件名和扩展名使用os.path.splitext()例如photo.jpg会拆分为photo .jpg这样修改名称时不会影响文件格式。四、增加文件编号功能如果希望按照顺序重新编号importos folder./imagesfilesos.listdir(folder)forindex,filenameinenumerate(files,1):extos.path.splitext(filename)[1]new_namefimage_{index}{ext}os.rename(os.path.join(folder,filename),os.path.join(folder,new_name))效果image_1.jpg image_2.jpg image_3.jpg五、避免误操作批量修改文件名称前建议先打印结果print(old_name,,new_name)确认没有问题后再执行os.rename()另外建议先备份目录不直接处理重要文件测试几个文件后再批量运行。六、结合服务器自动化这个脚本也可以用于服务器维护。例如每天自动整理上传文件图片目录备份文件。结合 Linux 定时任务crontab-e添加02* * * python3 rename.py每天凌晨自动执行。总结Python 最大的优势之一就是自动化处理重复工作。批量修改文件名称只是一个简单例子。实际项目中还可以扩展根据日期分类自动生成目录批量处理图片自动整理服务器文件。对于经常处理大量文件的人来说写一个几十行的小脚本往往可以节省大量时间。标签Python、自动化、文件处理、脚本开发