我是python的菜鸟,我正在尝试完成这个简单的任务。我想逐个访问多个目录,这些目录都位于一个目录中。我没有多个目录的名称。我需要进入目录,组合一些文件,从目录中移出,然后进入下一个目录,合并一些文件,退出它,依此类推........我需要制作确定我不会多次访问同一目录。
我环顾四周,尝试了各种各样的命令。
答案 0 :(得分:2)
尝试使用类似下面的代码:
import os, fnmatch
def find_files(directory, pattern):
for root, dirs, files in os.walk(directory):
for basename in files:
if fnmatch.fnmatch(basename, pattern):
filename = os.path.join(root, basename)
yield filename
使用类似这样的东西:
for filename in find_files('/home/', '*.html')
# do something
答案 1 :(得分:0)
有时候我发现glob很有用:
from glob import glob
import os
nodes = glob('/tmp/*/*')
for node in nodes:
try:
print 'now in directory {}'.format(os.path.dirname(node))
with open(node, 'r') as f:
# Do something with f...
print len(f.read())
except IOError: # Because node may be a directory, which we cannot 'open'
continue