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