请教一个改文件名的程序

问程序不识别子目录文件,无法批量重命名
# 导入包,很重要的
import os

"""
n = 0

# 创建文件夹及文件
os.mkdir("./test")
for i in range(1, 6):
    os.mkdir("./test/test"+str(i))
    fp = open("./test/test"+str(i)+".txt", 'w',encoding='utf-8')
"""
while True:
    print("功能代码:\n1.添加前缀\t2.删除前缀\t3.清理垃圾")
    sn = input("请选择您的操作代码:")
    profix = input("请输入前缀:")
    path = input("请输入您的文件路径:")

    # 获取路径下的所有文件夹及文件
    file_list = os.listdir(path)
    # print(file_list)
    # 遍历所有的文件
    for i in file_list:
        path_flag = os.path.isfile(os.path.join(path, i))

        if not path_flag:  # 跳过目录
            continue

        # 判断执行的操作.并对非目录的文件进行操作
        if sn == '1':
            # pass  # 添加前缀
            os.rename(os.path.join(path, i), os.path.join(path, profix + i))  # os.path.join(path, profix + i) 连接路径
        elif sn == '2':
            # pass  # 删除前缀
            if i.startswith(profix):
                os.rename(os.path.join(path, i), os.path.join(path, i[len(profix):]))
        elif sn == '3':
            #pass   # 清理垃圾
            for root, dirs, files in os.walk('./'):
                for name in files:
                   if(name.endswith(".bak") or name.endswith(".fas") or name.endswith(".vlx") or name.endswith(".log")):
                       n += 1
                       print(n)
                       os.remove(os.path.join(root, name))
        else:
            print("执行代码错误!!!")
    else:
        print("执行成功!!")

我想实现能够将整个文件包括子文件夹内的所有单个文件批量重命名,最好是能指定批量重命名.dwg为后缀的文件

你想识别子目录,你得递归呀