python 遍历文件夹

来源:互联网 发布:华为手机全球销量知乎 编辑:程序博客网 时间:2024/05/16 12:58

python中遍历一个文件夹

  • 相关函数os.walk()介绍
  • 原型为:os.walk(top, topdown=True, onerror=None, followlinks=False)
    我们一般只使用第一个参数。(topdown指明遍历的顺序)
    该方法对于每个目录返回一个三元组,(dirpath, dirnames, filenames)。第一个是路径,第二个是路径下面的目录,第三个是路径下面的非目录(对于windows来说也就是文件)

  • 示例
  • 如下示例可以将所有目录下的文件名称罗列出来,放在filenames中,将所有目录下的的目录罗列出来,例如该目录下有一个文件夹test1,test1中有一个文件夹test2,所以,会罗列出”D:\data\test1”,”D:\data\test1\test2”… 代码如下:

    import osimport os.pathrootdir = “d:\data”# 指明被遍历的文件夹for parent,dirnames,filenames in os.walk(rootdir):    #三个参数:分别返回1.父目录 2.所有文件夹名字(不含路径) 3.所有文件名字    for dirname in  dirnames:#输出文件夹信息        print("parent is:" + parent)        print("dirname is" + dirname)    for filename in filenames:#输出文件信息        print("parent is": + parent)        print("filename is:" + filename)        #输出文件路径信息        print("full name:" +os.path.join(parent,filename)           

  • 利用该特点找出该文件夹下所有特定后缀名的文件
  • #定义一个函数,寻找固定目录下的所有后缀名为某格式的文件def findFile(dir,postFix):    fileList = []    for parent,dirnames,filenames in os.walk(dir):           #将每个文件添加到fileList中        for filename in filenames:             if filename.endswith(postFix):#是否为特定后缀名的文件                fileList.append(os.path.join(parent,filename))    return fileList;
    原创粉丝点击