使用Python快速获取所有子目录

使用Python快速获取所有子目录,python,subdirectory,os.walk,Python,Subdirectory,Os.walk,我知道如何列出给定目录中的所有子目录的问题已经得到了回答。它包括这一公认的解决方案: subdirs = [x[0] for x in os.walk(dirToSearch)] 当目录中只有几个文件时,这样做很好。不过,我试图在包含数千个文件的文件夹中使用此功能,而os.walk显然在所有文件夹中都进行了迭代,这意味着运行需要很长时间。有没有一种方法可以做到这一点(识别所有子目录),而不被文件所困扰?替代忽略文件的os.walk 我正试图在Windows网络目录上执行此操作 谢谢, Alex

我知道如何列出给定目录中的所有子目录的问题已经得到了回答。它包括这一公认的解决方案:

subdirs = [x[0] for x in os.walk(dirToSearch)]
当目录中只有几个文件时,这样做很好。不过,我试图在包含数千个文件的文件夹中使用此功能,而
os.walk
显然在所有文件夹中都进行了迭代,这意味着运行需要很长时间。有没有一种方法可以做到这一点(识别所有子目录),而不被文件所困扰?替代忽略文件的
os.walk

我正试图在Windows网络目录上执行此操作

谢谢,
Alex

您可以为此使用
pathlib

这将获得所有直接子目录:

from pathlib import Path

p = Path('.')
subdirs = [x for x in p.iterdir() if x.is_dir()]
这将获取所有嵌套子目录:

for subdir in p.glob('**/'):
     print(subdir.name)

完美的非常感谢,没问题。我更新了我的答案,以防你需要两个直接的子目录,或者所有嵌套的子目录。尽管您的第一个方法对于查找直接子目录非常有效,但是您获取所有嵌套子目录的方法似乎并不比其他方法快。有什么想法吗?