import os
import os.path
# 获取指定目录及其子目录下的 py 文件路径说明:l 用于存储找到的 py 文件路径 get_py 函数,递归查找并存储 py 文件路径于 l
list1 = []
def get_py(path,list1):
    fileList = os.listdir(path)  # 获取path目录下所有文件
    for filename in fileList:
        pathTmp = os.path.join(path,filename) # 获取path与filename组合后的路径
        if os.path.isdir(pathTmp):  # 如果是目录
            get_py(pathTmp,list1) # 则递归查找
        elif filename[-3:].upper() == '.PY':# 如果不是目录,则比较后缀名
            list1.append(pathTmp)

path = input('请输入路径:').strip()
get_py(path,list1)
print('在%s目录及其子目录下找到%d个py文件,分别为:' % ( path,len(list1)))
for filepath in list1:
    print(filepath+'\n')


实现效果: 请输入路径:D:/Python Exercise/ 在D:/Python Exercise/目录及其子目录下找到71个py文件,分别为: D:/Python Exercise/Bank Self-service Deposit and Withdrawal System-1.py D:/Python Exercise/Bank_Self-service_Deposit_and_Withdrawal_System-2.py ...