温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python中怎么调用遍历目录树的函数

发布时间:2021-07-14 15:04:00 来源:亿速云 阅读:152 作者:Leah 栏目:编程语言

本篇文章为大家展示了Python中怎么调用遍历目录树的函数,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

Python遍历目录树下面的函数调用

os.path.walk(root, myfunc, arg)

将遍历root目录树;然后,对每个目录名dirname分别调用myfunc(arg, dirname, files)即可,这里参数files是dir中的文件名列表(可通过调用os.listdir(dirname)来获得);arg是用户从调用代码中传递来的参数。对于UNIX操作系统用户来说,Python语言中跨平台的os.path.walk相当于Unix命令find。

在解释os.path.walk的用法的时候,人们常使用写出主目录中所有子目录内的文件的名称为例进行说明。当然,我们也可以在一个交互式的Python命令行中使用下列代码段来体会os.path.walk的使用:

def ls(arg, dirname, files):  print dirname, ’has the files’, files  os.path.walk(os.environ[’HOME’], ls, None)

本例中关于Python遍历目录树,参数arg并非必需,所以在os.path.walk调用中让其取值为None即可。为了列出主目录中所有大于1Mb的文件,可以使用下面的代码:

def checksize1(arg, dirname, files):  for file in files:  filepath = os.path.join(dirname, file)  if os.path.isfile(filepath):  size = os.path.getsize(filepath)  if size > 1000000:  sizesize_in_Mb = size/1000000.0  arg.append((size_in_Mb, filename))  bigfiles = []  root = os.environ[’HOME’]  os.path.walk(root, checksize1, bigfiles)  for size, name in bigfiles:  print name, ’大小为’, size, ’Mb’

现在,我们使用arg来建立一个数据结构,这里是一个2元组构成的列表,其中每个2元组存放文件的尺寸(以MB为单位)和完整的文件路径。如果用于所有目录的函数调用中都要更改arg的话,那么arg必须是一个可变的数据结构,即允许适当地进行修改。

上述内容就是Python中怎么调用遍历目录树的函数,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI