python递归查询并列出目录

第一种方法:

>>> import os #导入模块
>>> os.walk('/tmp/test/testdir') #os的walk函数对象
<generator object walk at 0x1e8a960>
>>> for i in os.walk('/tmp/test/testdir'): #for循环打印出目录的文件
...     print i
...
('/tmp/test/testdir', ['jpg'], ['f1', 'f2', 'f3'])
('/tmp/test/testdir/jpg', [], ['l2', 'l1'])
>>> for path,d,filelist in os.walk('/tmp/test/testdir'): #循环对应路径,目录,文件列表在testdir中
...     for filename in filelist: #循环文件名在文件列表中
...             os.path.join(path,filename) #获取文件路径和文件名
...
'/tmp/test/testdir/f1'
'/tmp/test/testdir/f2'
'/tmp/test/testdir/f3'
'/tmp/test/testdir/jpg/l2'
'/tmp/test/testdir/jpg/l1'


第二种方法:

#!/usr/bin/python #比较复杂的方法
#coding:utf8
import os
def dirList(path):
        filelist = os.listdir(path)
        for filename in filelist:
                filepath = os.path.join(path,filename)
                if os.path.isdir(filepath):
                        dirList(filepath)
                print  filepath
allfile = dirList('/tmp/test/testdir')


你可能感兴趣的:(递归查询列出目录)