移入目录而不知道其名称

时间:2013-05-07 04:54:57

标签: python directory

我是python的菜鸟,我正在尝试完成这个简单的任务。我想逐个访问多个目录,这些目录都位于一个目录中。我没有多个目录的名称。我需要进入目录,组合一些文件,从目录中移出,然后进入下一个目录,合并一些文件,退出它,依此类推........我需要制作确定我不会多次访问同一目录。

我环顾四周,尝试了各种各样的命令。

2 个答案:

答案 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