python - 使用 Python 快速获取所有子目录
问题描述
我知道如何列出给定目录中的所有子目录的问题在 2011 年的这个问题中得到了回答。它包括这个公认的解决方案:
subdirs = [x[0] for x in os.walk(dirToSearch)]
当目录中只有几个文件时,这很好用。但是,我试图在包含数千个文件的文件夹上使用它,并且os.walk
显然正在遍历所有文件,这意味着它需要很长时间才能运行。有没有办法做到这一点(识别所有子目录)而不会被文件所困扰?os.walk
忽略文件的替代方法?
我正在尝试在 Windows 网络目录上执行此操作。
谢谢,亚历克斯
解决方案
你可以用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)
推荐阅读
- mongodb - 如何在mongodb中使用group by?
- java - 如何从字符串值中删除字符?
- javascript - 通过传递参数通过单击按钮来操作表格列宽
- java - 试图将数据库中的信息显示到终端
- sql - rails 相同模型之间的多个 has_many 关系
- reactjs - 如何在 SilverStripe 项目中构建 React 应用程序(包含 SVG 文件)以保持 SS4 文件夹约定?
- javascript - 以这种格式获取当前日期“2019 年 5 月 9 日”
- angular - 如何使用路由器在 ionic 4 中重新加载页面?
- java - 错误:无法找到或加载主类 assignment5.Assignment5
- android - 无法转换JSON格式的数据android