```python
import os
def batch_rename_files(directory, prefix):
"""
批量重命名文件
:param directory: 文件所在目录
:param prefix: 重命名前缀
"""
try:
切换到目标目录
os.chdir(directory)
files = os.listdir()
print(f"发现{len(files)}个文件,开始重命名...")
for index, file in enumerate(files, 1):
获取文件扩展名
file_ext = os.path.splitext(file)
构造新文件名
new_name = f"{prefix}_{index}{file_ext}"
拼接完整路径
old_file = os.path.join(directory, file)
new_file = os.path.join(directory, new_name)
重命名文件
os.rename(old_file, new_file)
print(f"{file} -> {new_name}")
print("文件重命名完成!")
except Exception as e:
print(f"重命名过程中发生错误: {e}")
使用示例
directory_to_rename = "/path/to/your/directory"
prefix_to_add = "new_"
batch_rename_files(directory_to_rename, prefix_to_add)
```
代码说明:
导入os模块:
用于文件和目录操作。
定义`batch_rename_files`函数:
接受两个参数,`directory`(要重命名的目录)和`prefix`(要添加到文件名前的前缀)。
切换到目标目录:
使用`os.chdir(directory)`。
列出目录中的所有文件:
使用`os.listdir()`。
遍历文件列表:
使用`enumerate(files, 1)`来获取文件名和序号。
获取文件扩展名:
使用`os.path.splitext(file)`。
构造新文件名:
将前缀、序号和扩展名组合成新文件名。
拼接完整路径:
将旧文件路径和新文件路径分别使用`os.path.join(directory, file)`和`os.path.join(directory, new_name)`。
重命名文件:
使用`os.rename(old_file, new_file)`。
异常处理:
捕获并打印可能发生的异常。
使用示例:
将上述代码保存为一个Python文件(例如`rename_files.py`),并确保将`directory_to_rename`和`prefix_to_add`变量设置为你想要重命名的目录和前缀。然后运行该脚本即可。
```bash
python rename_files.py
```
请确保在运行脚本之前备份重要文件,以防重命名过程中出现问题。