怎么用Python批量修改文件名
在日常工作中,我们经常需要对大量的文件进行重命名,我们需要将一批文件的名称统一修改为某个特定的格式,或者根据文件的内容来修改文件名,这个时候,使用Python脚本可以大大提高我们的工作效率,本文将介绍如何使用Python批量修改文件名。
使用os模块
1、1 导入os模块
在开始编写Python脚本之前,我们需要先导入os模块,os模块提供了许多与操作系统交互的功能,包括文件操作。
import os
1、2 获取文件夹路径
我们需要获取需要修改文件名的文件夹路径,可以使用os.getcwd()函数获取当前工作目录的路径。
folder_path = os.getcwd()
1、3 遍历文件夹中的文件
接下来,我们需要遍历文件夹中的所有文件,可以使用os.listdir()函数获取文件夹中的所有文件和文件夹的名称。
file_list = os.listdir(folder_path)
1、4 修改文件名
有了文件列表之后,我们就可以开始修改文件名了,可以使用os.rename()函数来实现文件名的修改,需要注意的是,os.rename()函数会直接修改原文件名,而不会创建一个新的文件,在使用该函数时,请确保不会误删或覆盖其他重要文件。
for file_name in file_list: 构造新的文件名,将原文件名中的"old"替换为"new" new_file_name = file_name.replace("old", "new") 拼接原文件和新文件的完整路径 old_file_path = os.path.join(folder_path, file_name) new_file_path = os.path.join(folder_path, new_file_name) 重命名文件 os.rename(old_file_path, new_file_path)
使用glob模块和shutil模块
除了使用os模块之外,还可以使用glob模块和shutil模块来实现文件名的批量修改,这两个模块都提供了丰富的文件操作功能,可以帮助我们更方便地完成任务。
2、1 使用glob模块查找符合条件的文件
glob模块可以根据指定的规则查找符合条件的文件,我们可以使用glob.glob("*.txt")来查找当前文件夹下所有的文本文件,可以将这些文件传递给后续的操作。
2、2 使用shutil模块复制和删除文件
shutil模块提供了copy()和remove()函数,可以方便地复制和删除文件,在修改文件名之前,我们可以先将需要修改的文件复制到另一个文件夹中,然后再进行重命名操作,这样可以避免误删或覆盖其他重要文件,可以使用remove()函数删除临时复制的文件。
下面是一个使用glob模块和shutil模块实现批量修改文件名的示例代码:
import shutil import glob import os 获取文件夹路径 folder_path = os.getcwd() 定义需要修改的文件后缀名 suffix = "txt" 查找符合条件的文件并复制到另一个文件夹中 temp_folder = os.path.join(folder_path, "temp") if not os.path.exists(temp_folder): os.makedirs(temp_folder) for file_name in glob.glob(os.path.join(folder_path, "*" + suffix)): shutil.copy(file_name, temp_folder) os.rename(file_name, file_name.replace("old", "new")) 将原文件名中的"old"替换为"new" os.remove(file_name) 删除原文件
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/218711.html