Python学习——获取指定路径下特定后缀的文件(包含子文件夹)

获取指定路径下特定后缀的文件(包含子文件夹)


当我们文件夹一层套一层,当我们想找的文件在一级一级的目录内,当我们想找到文件夹中不同层次相同的后缀文件时,这个小技巧超级管用。如果你恰好遇到这种问题,那就继续看下去吧!

主要用到Python内置模块:os
特别使用 : os.walk
对于os.walk的解释是:用于在目录树中游走输出在目录中的文件名,向上或向下。
最初我看这个解释的时候我不懂,知道自己举了个例子,我就明白了:
假设我的目录情况如下如所示,我想获得所有的“*.txt”文件的路径:
Python学习——获取指定路径下特定后缀的文件(包含子文件夹)_第1张图片
若我们使用如下代码块

for root, dirs, files in os.walk("H:\\")
	print(root, dirs, files)

此时,我们便可以看到,得到的是一个元组,用for遍历元组中的元素:root, dics, files,这里的三个元素对应下图三列:
Python学习——获取指定路径下特定后缀的文件(包含子文件夹)_第2张图片
因此,我们可以写入下得代码来获取后缀为“*.txt”的文件:

import os
def getListFiles(path):
    ret = []
    for root, dirs, files in os.walk(path):
        for filespath in files:
            ret.append(os.path.join(root, filespath))
    return ret


ret = getListFiles("H:\\")
listSpicalpath = set()
for i in ret:
    if os.path.splitext(i)[1] == ".txt":
        listSpicalpath.add(i)
print(listSpicalpath)

你可能感兴趣的:(Python,Python,获取特定文件路径)