文件目录遍历
Posted trp
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件目录遍历相关的知识,希望对你有一定的参考价值。
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.‘)
以上是关于文件目录遍历的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向使用 DB Browser 查看并修改 SQLite 数据库 ( 从 Android 应用数据目录中拷贝数据库文件 | 使用 DB Browser 工具查看数据块文件 )(代码片段
Android 逆向使用 DB Browser 查看并修改 SQLite 数据库 ( 从 Android 应用数据目录中拷贝数据库文件 | 使用 DB Browser 工具查看数据块文件 )(代码片段