
python如何获取子目录
用户关注问题
Python中如何列出指定目录的所有子目录?
我想用Python代码列出某个文件夹下的所有子目录,有哪些方法可以实现?
使用os模块的listdir和isdir方法获取子目录
可以使用os模块的listdir函数列出目录下的所有条目,再通过os.path.isdir判断每个条目是否是子目录。例如:
import os
path = '/your/directory/path'
subdirs = [name for name in os.listdir(path) if os.path.isdir(os.path.join(path, name))]
print(subdirs)
怎样递归地获取Python项目中所有子目录?
有时候需要遍历一个目录的所有层级,找到所有子目录,Python中有什么简洁的实现方法吗?
利用os.walk函数递归获取所有子目录
os.walk可以遍历目录树,得到每个目录路径、包含的子目录和文件列表。要获取所有子目录,可以这样写:
import os
path = '/your/directory/path'
all_subdirs = []
for root, dirs, files in os.walk(path):
for dir_name in dirs:
all_subdirs.append(os.path.join(root, dir_name))
print(all_subdirs)
使用pathlib模块怎样获取目录下的子目录?
除了os模块,Python的pathlib模块如何用来获取指定目录中的子目录列表?
借助pathlib.Path.iterdir方法筛选子目录
pathlib提供面向对象的操作方式,可以通过Path.iterdir()列出目录项,结合is_dir()过滤目录:
from pathlib import Path
path = Path('/your/directory/path')
subdirs = [p for p in path.iterdir() if p.is_dir()]
print(subdirs)