python如何遍历文件夹获得相同扩展名的所有文件

我们有时候需要获得某个文件夹下具有某个扩展名的所有文件,比如在某个数据文件夹下返回所有.jpg扩展名的图片,本文讲解如何遍历整个文件夹并定位具有相同扩展名的文件

1.如何遍历整个文件夹

import os

dir="C:\\Users\\wuyanzu"  #文件夹名称
filelist=[]  
for i in os.listdir(dir):  #遍历整个文件夹
    path = os.path.join(dir, i)
    if os.path.isfile(path):  #判断是否为一个文件,排除文件夹
        filelist.append(i)
for i in filelist:
    print(i)              	  

如果将子文件夹也遍历的话,需加一个递归:

import os

def CrossOver(dir,fl):
    for i in os.listdir(dir):  #遍历整个文件夹
        path = os.path.join(dir, i)
        if os.path.isfile(path):  #判断是否为一个文件,排除文件夹
            fl.append(i)
        elif os.path.isdir(path):
            newdir=path
            CrossOver(newdir,fl)
    return fl
directory="C:\\Users\\waq\\Pictures\\Saved Pictures"  #文件夹名称
filelist=[]
output=CrossOver(directory,filelist)
for i in output:
    print(i)

2.获得指定扩展名的所有文件

以“.jpg”为扩展名,不遍历子文件夹为例:

dir="C:\\Users\\waq\\Pictures\\Saved Pictures"  #文件夹名称
filelist=[]
for i in os.listdir(dir):  #遍历整个文件夹
    path = os.path.join(dir, i)
    if os.path.isfile(path):  #判断是否为一个文件,排除文件夹
        if os.path.splitext(path)[1]==".jpg":  #判断文件扩展名是否为“.jpg”
            filelist.append(i)
for i in filelist:
    print(i)

判断文件扩展名详细功能可点这查询。

你可能感兴趣的:(python)