打印出Python中当前目录和子目录中的所有文件

时间:2013-06-05 00:40:25

标签: python file

假设我有路径目录pathname。我可以通过

打印该目录中的所有文件
glob.glob('*')

但是这不会打印出子目录中的文件(例如dir/file1.txt

是否可以打印出该目录中的所有文件以及所有子目录?

3 个答案:

答案 0 :(得分:3)

使用os.walk

只会有点困难
import os
for dirpath, dirnames, filenames in os.walk('.'):
    for f in filenames:
        print os.path.join(dirpath, f)

您也可以将其表达为生成器表达式

for filename in (os.path.join(dp, f) for dp, dn, fn in os.walk('.') for f in fn):
    # do something with filename

答案 1 :(得分:0)

import os

top = 'F:/some/path/'
for root, dirs, files in os.walk(top, topdown=False):
    for name in files:
       print name

答案 2 :(得分:0)

你想使用os.walk。

示例:

for (dirname, subs, files) in os.walk('.'):
    print('[' + dirname + ']')
    for fname in files:
        print(os.path.join(dirname, fname))

请参阅here for more info