Python遍历目录树中的函数调用的实际操作步骤简介

开发 后端
本文会涉及到Python遍历目录树中的函数调用的实际操作方案与相关代码的介绍,如果你对Python遍历目录树的实际相关应用感兴趣的话,你就可以点击以下的文章。

现在关于Python遍历目录树的相关实际应用操作方案的介绍相对而言还算是比较少的,所以我们今天把Python遍历目录树的相关内容以及在计算机语言的实际应用方案有所了解,以下是相关内容的介绍。

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

  1. 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的使用:

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

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

  1. def checksize1(arg, dirname, files):  
  2. for file in files:  
  3. filepath = os.path.join(dirname, file)  
  4. if os.path.isfile(filepath):  
  5. size = os.path.getsize(filepath)  
  6. if size > 1000000:  
  7. sizesize_in_Mb = size/1000000.0  
  8. arg.append((size_in_Mb, filename))  
  9. bigfiles = []  
  10. root = os.environ[’HOME’]  
  11. os.path.walk(root, checksize1, bigfiles)  
  12. for size, name in bigfiles:  
  13. print name, ’大小为’, size, ’Mb’ 

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

【编辑推荐】

  1. Python对象以C语言实现其相关功能的介绍
  2. Python VIM 注释掉代码的具体方案的描述
  3. Python手工加载Django的实际操作的四部分详解
  4. Python安装中对配置环境变量实际操作的方法
  5. Python模块功能在实际应用方案中的相关功能的介绍

 

责任编辑:佚名 来源: 博客园
相关推荐

2010-04-02 13:34:33

Oracle DBA

2010-03-12 15:29:19

Pythonexe

2010-04-20 11:06:33

Oracle索引

2010-03-23 18:38:26

Python os.m

2010-06-01 15:54:46

MySQL-pytho

2010-04-23 13:29:01

Oracle存储过程

2010-07-23 14:26:37

SQL Server存

2010-03-16 10:00:37

Python函数

2010-05-12 13:45:25

Mysql 复制设置

2010-03-26 18:51:51

Python作用域

2010-04-27 15:11:20

Oracle树的存储过

2010-04-06 08:58:27

Oracle job

2010-07-21 15:22:07

2010-03-10 19:00:20

Pythonnext函

2010-03-23 15:39:01

Python os.w

2010-03-29 09:11:02

Python引用计数

2010-05-13 16:21:58

2010-04-15 14:30:35

Oracle创建

2010-05-28 14:42:00

MySQL使用备忘

2010-05-26 14:06:44

MySQL查询
点赞
收藏

51CTO技术栈公众号