批量重命名文件可通过Python的os模块实现,1. 按序号重命名:使用rename_files_sequentially函数将文件以指定前缀和序号命名;2. 替换文件名内容:通过replace_in_filenames替换特定字符如空格为下划线;3. 添加前缀后缀:利用add_prefix_suffix统一添加标识;4. 安全建议包括预览操作、避免覆盖、使用绝对路径、备份及异常处理,确保操作安全可靠。

批量重命名文件在处理大量数据或整理文件夹时非常实用。Python 提供了 os 和 glob 等模块,可以轻松实现这一功能。下面是一个简单、可扩展的批量重命名脚本示例,并附带使用说明。
1. 基础批量重命名:按序号重命名
将指定目录下的所有文件按数字顺序重命名,例如:file_001.txt, file_002.txt...
import osdef rename_files_sequentially(directory, prefix="file", extension=None): # 检查目录是否存在 if not os.path.exists(directory): print("目录不存在:", directory) return
# 获取所有文件 files = os.listdir(directory) # 过滤指定扩展名(可选) if extension: files = [f for f in files if f.lower().endswith(extension.lower())] # 排序确保顺序一致 files.sort() # 逐个重命名 for index, filename in enumerate(files, start=1): old_path = os.path.join(directory, filename) new_name = f"{prefix}_{index:03d}.{extension}" if extension else f"{prefix}_{index:03d}" new_path = os.path.join(directory, new_name) os.rename(old_path, new_path) print(f"已重命名: {filename} -> {new_name}")# 使用示例 rename_files_sequentially("/path/to/your/folder", prefix="image", extension="jpg")
2. 根据原文件名替换内容
如果想批量删除或替换文件名中的某些字符,比如去掉空格或特殊符号:
import osdef replace_in_filenames(directory, old_text, new_text): for filename in os.listdir(directory): if old_text in filename: old_path = os.path.join(directory, filename) new_name = filename.replace(old_text, new_text) new_path = os.path.join(directory, new_name) os.rename(old_path, new_path) print(f"已重命名: {filename} -> {new_name}")
# 示例:将文件名中的空格替换为下划线 replace_infilenames("/path/to/folder", " ", "")
3. 添加前缀或后缀
为所有文件统一添加前缀或后缀,便于分类管理:
立即学习“Python免费学习笔记(深入)”;
import osdef add_prefix_suffix(directory, prefix="", suffix=""): for filename in os.listdir(directory): name, ext = os.path.splitext(filename) new_name = f"{prefix}{name}{suffix}{ext}" old_path = os.path.join(directory, filename) new_path = os.path.join(directory, new_name) os.rename(old_path, new_path) print(f"已重命名: {filename} -> {new_name}")
# 示例:给所有文件加前缀“backup_” add_prefixsuffix("/path/to/folder", prefix="backup")
4. 安全提示与建议
写重命名脚本时注意以下几点,避免误操作:
- 先打印出要执行的操作,确认无误再真正调用 os.rename()
- 检查目标文件是否已存在,防止覆盖
- 使用绝对路径更安全
- 对重要文件提前备份
- 可以加入异常处理(try-except)捕获重命名失败的情况
基本上就这些。根据实际需求调整函数参数即可实现灵活的批量重命名功能。脚本不复杂但容易忽略细节,建议测试时先在小样本上运行。









