You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取整个驱动器中的所有文件夹列表?

获取驱动器中的所有文件夹

核心解决方案:使用os.walk()遍历所有层级

os.walk()是Python标准库中专门用于递归遍历目录树的工具,它会自动遍历指定目录及其所有子目录,完美解决os.listdir()只能获取直接子目录的问题。

你看到的[x[0] for x in os.walk(directory)]是列表推导式写法,直接提取os.walk()返回的每一组结果中的目录路径,快速生成全量文件夹列表。具体使用方法如下:

1. 基础用法代码示例

import os

# 替换为你的目标驱动器路径,Windows下注意用原始字符串(加r)避免转义问题
drive_path = r"C:\\"
# 用列表推导式收集所有层级的文件夹路径
all_folders = [x[0] for x in os.walk(drive_path)]

# 打印结果(按需处理)
for folder in all_folders:
    print(folder)

2. 更直观的循环写法(等价于列表推导式)

如果觉得列表推导式不够好理解,用普通循环实现完全一样的效果:

import os

drive_path = r"C:\\"
all_folders = []

# os.walk每次迭代返回三元组:(当前目录路径, 当前目录下的子目录列表, 当前目录下的文件列表)
for root_dir, sub_dirs, files in os.walk(drive_path):
    # 把当前遍历到的目录路径加入列表
    all_folders.append(root_dir)

# 输出结果
for folder in all_folders:
    print(folder)

3. 处理权限问题(可选)

遍历整个驱动器时,可能遇到系统目录权限不足的情况,可添加异常处理跳过报错:

import os

drive_path = r"C:\\"
all_folders = []

for root_dir, sub_dirs, files in os.walk(drive_path):
    try:
        all_folders.append(root_dir)
    except PermissionError:
        print(f"无权限访问目录: {root_dir}")
        continue

内容的提问来源于stack exchange,提问作者Oskar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 10:48:16