python - os.一次遍历多个目录

标签 python os.walk

<分区>

Possible Duplicate:
How to join two generators in Python?

python有没有办法使用os.walk一次遍历多个目录?

my_paths = []
path1 = '/path/to/directory/one/'
path2 = '/path/to/directory/two/'
for path, dirs, files in os.walk(path1, path2):
    my_paths.append(dirs)

上面的例子不起作用(因为 os.walk 只接受一个目录),但我希望有一个更优雅的解决方案而不是调用 os.walk 两次(然后我可以一次对它进行排序)。谢谢。

最佳答案

要将多个可迭代对象视为一个,请使用 itertools.chain :

from itertools import chain

paths = ('/path/to/directory/one/', '/path/to/directory/two/', 'etc.', 'etc.')
for path, dirs, files in chain.from_iterable(os.walk(path) for path in paths):

关于python - os.一次遍历多个目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7588620/

相关文章:

python - 在 python 日志记录配置文件中使用程序变量

python - 在 numpy 数组上并行化区域计算

python - 向 tastypie 发送经过身份验证的 POST 请求

python - 如何使用 python 将复杂的 .mat 文件转换为 csv

python - 如果 python 中的某些文件类型移动文件和创建目录

python Mac OS : os. path.getsize 返回的值与 du -ks 不同?

python - os.walk() 值错误 : need more than 1 value to unpack

python - 从 os.walk 中有效地删除 dirnames 中的子目录

python - 多索引 pandas 数据帧的最高和最低列值

python - os.walk 在第一次找到后停止寻找子目录