首页 > 代码库 > 文件目录遍历
文件目录遍历
os.walk()
os.walk(top,topdown=True,onerror=None)
top:需要遍历的顶级目录路径
topdown:默认值“True”,首先返回顶级目录下的文件,然后再遍历子目录中的文件。"False":先遍历子目录中的文件,然后再返回顶级目录下的文件。
onerror默认值"None",忽略文件遍历时的错误。
返回一个三元tupple(dirpath, dirnames, filenames),第一个为起始路径,第二个为起始路径下的文件夹,第三个是起始路径下的文件。
dirpath:string,目录的路径。
dirnames:list,dirpath下所有子目录的名字。
filename:list,非目录文件的名字。
这些名字不包含路径信息,如果需要得到全路径,需要使用os.path.join(path, name),通过for循环遍历所有文件。
#!/usr/bin/env python # _*_ coding:utf-8 _*_ import os for path,dirs,filelist in os.walk(r‘D:\用户目录\下载‘): for filename in filelist: print(os.path.join(path,filename))
遍历文件夹并删除特定格式文件
#!/usr/bin/python # -*- coding: utf-8 -*- import os def del_files(path): for root , dirs, files in os.walk(path): for name in files: if name.endswith(".tmp"): os.remove(os.path.join(root, name)) print ("Delete File: " + os.path.join(root, name)) if __name__ == "__main__": path = ‘/tmp‘ del_files(path)
获取文件夹大小
os.path.getsize,参数是文件路径。
#!/usr/bin/env python # _*_ coding:utf-8 _*_ import os from os.path import join, getsize def getdirsize(dir): size = 0 for path, dirs, files in os.walk(dir): for filename in files: size += getsize(os.path.join(path, filename)) print(os.path.join(path, filename)) return size if __name__ == ‘__main__‘: filesize = getdirsize(r‘D:\用户目录\下载‘) print(‘Ther are %.1f‘ % (filesize/1024/1024), ‘Mbytes.‘)
文件目录遍历
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。