我想知道是否有一种有效的方法来获取大目录树的所有end / leaf子目录。
例如,在bash中找到所有的end / leaf dirs就是这样的,假设树中有2级目录。
find mydir -mindepth 2 -maxdepth 2 -type d
在python中,我们可以使用os.walk()
来执行此操作:
dirs = []
for dirpath, dirnames, filenames in os.walk(mydir):
if not dirnames:
dirs.append(dirpath)
然而,当mydir
变得庞大而复杂时,这种情况会非常缓慢。
理想情况下,我们应该有一个迭代器对象来检索这样的目录。
有什么想法吗?谢谢!
更新:更喜欢python2.7解决方案。