现在关于Python遍历目录树的相关实际应用操作方案的介绍相对而言还算是比较少的,所以我们今天把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遍历目录树的实际应用方案的具体介绍。
【编辑推荐】
【责任编辑:孙巧华 TEL:(010)68476606】
点赞 0