如何使用Python批量修改文件名称
文件名称在我们的日常工作中经常需要修改,特别是当我们需要对大量文件进行统一命名时。手动一个一个修改文件名称是非常耗时且无效的。而使用Python脚本可以轻松实现批量修改文件名称的功能,大大提高工作效率。本文将介绍如何使用Python实现批量修改文件名称的方法。
1. 导入所需库
首先,我们需要导入os和shutil库。其中os库用于操作文件路径和目录,shutil库用于文件操作。
import os
import shutil
2. 获取文件列表
使用os.listdir()函数可以获取指定目录下的所有文件和目录的名称列表。我们可以通过遍历该列表,筛选出需要修改名称的文件。
file_list = os.listdir("目录路径")
3. 批量修改文件名称
遍历文件列表,对每个文件进行重命名操作。根据需求,可以选择使用字符串替换、添加前缀或后缀等方式进行文件重命名。
for file_name in file_list:
new_file_name = file_name.replace("旧名称", "新名称")
os.rename(file_name, new_file_name)
示例:
假设我们要将指定目录下所有文件的后缀名从txt改为docx。
for file_name in file_list:
if file_name.endswith(".txt"):
new_file_name = file_name.replace(".txt", ".docx")
os.rename(file_name, new_file_name)
4. 错误处理
当文件名称无法修改时,可能会抛出异常,例如文件不存在、权限不足等。为了程序的稳定性,我们需要对这些异常进行处理。
try:
os.rename(file_name, new_file_name)
except Exception as e:
print("修改文件名称失败:", e)
5. 完整代码示例
import os
import shutil
def batch_rename(directory, old_name, new_name):
file_list = os.listdir(directory)
for file_name in file_list:
if old_name in file_name:
new_file_name = file_name.replace(old_name, new_name)
try:
os.rename(os.path.join(directory, file_name), os.path.join(directory, new_file_name))
except Exception as e:
print("修改文件名称失败:", e)
# 使用示例
batch_rename("目录路径", "旧名称", "新名称")
通过以上步骤,我们可以使用Python编写脚本来实现批量修改文件名称的功能。在实际使用过程中,我们可以根据具体的需求进行修改和扩展,例如添加文件过滤条件、加入递归处理等。