0

假设我有路径目录pathname。我可以通过执行打印该目录中的所有文件

glob.glob('*')

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

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

4

3 回答 3

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
于 2013-06-05T00:43:17.823 回答
0
import os

top = 'F:/some/path/'
for root, dirs, files in os.walk(top, topdown=False):
    for name in files:
       print name
于 2013-06-05T00:46:07.910 回答
0

你想使用 os.walk。

例子:

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

请参阅此处了解更多信息

于 2013-06-05T00:47:13.637 回答