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

如何用Python递归遍历电脑所有文件夹并读取其中文件?

遍历电脑所有文件夹及文件的Python实现方案

针对你需求的遍历功能,这里提供两种基于os模块的实现方法,直接可用:

方法一:手动递归遍历(适合理解原理)

通过递归函数判断每个条目类型,文件夹则进入继续遍历,文件则打印名称,同时加入权限异常处理避免程序崩溃:

import os

def traverse_directory(path):
    try:
        # 遍历当前路径下的所有文件/文件夹
        for entry in os.listdir(path):
            full_path = os.path.join(path, entry)
            if os.path.isdir(full_path):
                print(f"进入文件夹: {full_path}")
                # 递归调用自身,遍历子文件夹
                traverse_directory(full_path)
            else:
                print(f"文件: {entry}")
    except PermissionError:
        print(f"无权限访问目录: {path}")

# 调用示例,替换为你想遍历的根路径,比如C盘根目录
traverse_directory("C:\\")

方法二:使用os.walk(简洁高效,推荐)

os.walk是Python内置的目录遍历工具,会自动递归遍历所有层级,返回当前目录路径、子文件夹列表、文件列表,无需手动处理递归逻辑:

import os

def traverse_with_os_walk(root_path):
    for current_dir, subdirs, files in os.walk(root_path):
        print(f"当前目录: {current_dir}")
        # 打印子文件夹
        for subdir in subdirs:
            print(f"子文件夹: {os.path.join(current_dir, subdir)}")
        # 打印文件
        for file in files:
            print(f"文件: {file}")

# 调用示例
traverse_with_os_walk("C:\\")

额外补充:启动阶段随机打印效果

结合你提到的启动模拟,可加入随机时长的打印逻辑,和遍历功能结合:

import time
import random

def simulate_boot_process():
    # 随机3-8秒的启动时长
    total_boot_time = random.randint(3, 8)
    start = time.time()
    while time.time() - start < total_boot_time:
        print("booting up...")
        # 随机0.5-1.5秒间隔打印
        time.sleep(random.uniform(0.5, 1.5))

# 先执行启动模拟,再开始遍历
simulate_boot_process()
traverse_with_os_walk("C:\\")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 00:50:03