方法一:递归调用:
import os
def dirlist(path, allfile):
filelist = os.listdir(path)
for filename in filelist:
二叉树的递归遍历算法、filepath = os.path.join(path, filename)
if os.path.isdir(filepath):
dirlist(filepath, allfile)
else:
allfile.append(filepath)
return allfile
非递归中序遍历。print dirlist("/home/yuan/testdir", [])
from glob import glob
from os import path
def dirlist(parent, allfile):
pattern = path.join(parent, '*', '*.wav')
return glob(pattern)
递归 python。方法二:
os.walk()
该函数式穿件一个生成器对象来遍历整棵目录树。
top指定目录的顶级,而topdown是一个布尔值,用于指示由上而下(默认值)还是由下而上来遍历目录。返回的生成器将生成元组(dirpath,dirnames,filenames),其中dirpath是一个字符串,包含通向目录的路径,dirnames是dirpath中所有子目录的一个列表,而filename是dirpath中文件的一个列表,不包括目录。oneerror参数是一个接受单个参数的函数。
如果处理期间出现任何错误,将使用os.error的是咧来调用此函数。默认行为时忽略错误。如果由上而下地遍历目录,修改dirnames将影响到遍历过程。
#!/user/bin/python
递归遍历二叉树、#!conding=utf8
import os
g = os.walk("/home/yuan/testdir")
for path,d,filelist in g:
print d;
for filename in filelist:
二叉树遍历非递归。print os.path.join(path, filename)
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态