python 查找特定后缀的文件
- walk 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下
top – 是你所要遍历的目录的地址, 返回的是一个三元组(root,dirs,files)。
返回值:
root 所指的是当前正在遍历的这个文件夹的本身的地址
dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录)
files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录)
源代码如下:
import os
import time
def find_files_with_suffix(target_dir, target_suffix="txt"):
""" 查找以 target_suffix 为后缀的文件,并返加 """
find_res = []
target_suffix_dot = "." + target_suffix
walk_generator = os.walk(target_dir)
for root_path, dirs, files in walk_generator:
if len(files) < 1:
continue
for file in files:
file_name, suffix_name = os.path.splitext(file)
if suffix_name == target_suffix_dot:
find_res.append(os.path.join(root_path, file))
return find_res
if __name__ == '__main__':
begin_time = time.time()
dir = r'D:\temp'
txt_files = find_files_with_suffix(dir, target_suffix='txt')
print(txt_files)
print('cost time: {} s'.format(time.time() - begin_time))