在日常工作或学习中,我们经常需要对大量文件进行重命名。手动操作一个一个改名既费时又费力,这时候可以使用 Python 脚本来自动完成这项任务。
import os
def batch_rename_files(directory, prefix):
"""
批量重命名指定目录下的文件名称。
参数:
directory (str): 目标目录路径。
prefix (str): 新文件名的前缀。
"""
# 检查目录是否存在
if not os.path.isdir(directory):
print("错误:指定的目录路径不存在。")
return
# 获取目录中的所有文件,并按照文件名进行排序
files = sorted(os.listdir(directory))
num_files = len(files)
# 循环遍历文件
for index, filename in enumerate(files):
# 跳过 .DS_Store 文件
if filename == ".DS_Store":
continue
# 构造新的文件名
new_filename = f"{prefix}_{index}{os.path.splitext(filename)[1]}"
# 构造旧文件路径和新文件路径
old_filepath = os.path.join(directory, filename)
new_filepath = os.path.join(directory, new_filename)
# 检查新文件名是否已经存在
if os.path.exists(new_filepath):
print(f"警告:文件 {new_filename} 已经存在,将跳过重命名。")
continue
try:
# 重命名文件
os.rename(old_filepath, new_filepath)
print(f"Renamed {filename} to {new_filename}")
except Exception as e:
print(f"Error renaming {filename}: {e}")
# 检查是否有文件漏掉
if num_files != len(os.listdir(directory)):
print("警告:部分文件被漏掉或丢失。")
# 用户输入目录路径和前缀
directory = input("请输入目录路径(例如:/Users/xxx/Desktop/Folder):")
prefix = input("请输入文件名前缀:")
# 执行批量重命名
batch_rename_files(directory, prefix)
脚本详解:
.py
文件,例如 rename_files.py
。python rename_files.py
files = sorted(os.listdir(directory))
这行代码。.DS_Store
文件,如果您需要重命名这些文件,可以修改 if filename == ".DS_Store": continue
这行代码。if os.path.exists(new_filepath): continue
这行代码。这个 Python 脚本可以帮助您快速、轻松地批量重命名文件,节省您的时间和精力。您可以根据自己的需求修改脚本,使其更加灵活好用。
因篇幅问题不能全部显示,请点此查看更多更全内容