假设我有路径目录pathname
。我可以通过
glob.glob('*')
但是这不会打印出子目录中的文件(例如dir/file1.txt
)
是否可以打印出该目录中的所有文件以及所有子目录?
答案 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))