1

我是 python 的菜鸟,我正在尝试完成这个简单的任务。我想一一访问多个目录,这些目录都位于一个目录中。我没有多个目录的名称。我需要进入目录,合并一些文件,移出那个目录,然后进入下一个目录,合并一些文件,移出它,等等......我需要做确保我不会多次访问同一个目录。

我环顾四周,尝试了各种命令,但还没有。

4

2 回答 2

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
于 2013-05-07T04:58:23.343 回答
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
于 2013-05-07T05:39:27.663 回答