雁过请留痕...
代码改变世界

python 批量修改文件名

2024-01-24 00:17  xiashengwang  阅读(25)  评论(0编辑  收藏  举报

指定顶层文件夹,可以把子文件夹里面的所有文件,批量更新为加时间戳的文件名。

如  a.txt-> a_20240101122050.txt

直接上代码:

将下面代码保存为rename.py文件,在dos窗口中执行python rename.py 即可。

注意:先将代码中的folder_path改为你的顶级目录。

import os
import datetime
 
def rename_files(folder_path):
    for filename in os.listdir(folder_path):
        # 获取原始路径和新路径
        old_name = os.path.join(folder_path, filename)
        old_name_without_ext = os.path.splitext(old_name)[0].split("_")[0]
        ext = os.path.splitext(old_name)[1]
        now = datetime.datetime.now()
        formatted_time = now.strftime("%Y%m%d%H%M%S")
        new_name = os.path.join(folder_path, old_name_without_ext + "_" + formatted_time + ext)
        
        try:
            if os.path.isfile(old_name):
                # 如果是文件则重命名
                os.rename(old_name, new_name)
                print("已将文件 {} 更名为 {}".format(filename, new_name ))
            
            elif os.path.isdir(old_name):
                # 如果是文件夹则递归调用函数进行处理
                rename_files(old_name)
                
        except Exception as e:
            print("发生错误:", str(e))
    
# 指定要操作的文件夹路径
folder_path = "F:\Test"
 
# 调用函数开始批量修改文件夹下所有文件或文件夹的名称
rename_files(folder_path)