利用递归遍历文件夹下所有文件(包括子文件夹里的文件),并打印出特定文件名称。
#导入OS模块
import os
#待搜索的目录路径
path = "D:\dataset"
#待搜索的名称
filename = "123"
#定义保存结果的数组
result = []
def findfiles(path):
# 首先遍历当前目录所有文件及文件夹
file_list = os.listdir(path)
# 循环判断每个元素是否是文件夹还是文件,是文件夹的话,递归
for file in file_list:
# 利用os.path.join()方法取得路径全名,并存入cur_path变量,否则每次只能遍历一层目录
cur_path = os.path.join(path, file)
# 判断是否是文件夹
if os.path.isdir(cur_path):
findfiles(cur_path)
else:
# 判断是否是特定文件名称
if filename in file:
result.append(file)
if __name__ == '__main__':
findfiles(path)
print(result)