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

使用Python os.walk遍历C盘仅找到系统文件,无法识别普通文件

问题原因与解决方案

核心问题:路径写法错误

你代码里的os.walk("C:")并不是指向C盘根目录——在Windows系统中,单独的"C:"表示的是C盘的当前工作目录(比如你运行脚本时所在的C盘子目录),而非整个C盘的根目录。这就是为什么你只能遍历到部分系统文件,却无法访问C:/Users这类根目录下的文件夹——脚本根本没从C盘根目录开始遍历。

验证与解决

当你直接使用os.walk("C:/Users")时,这是完整的绝对路径,所以能正常遍历该目录内容。要遍历整个C盘,只需把路径改成绝对路径形式:

  • 使用双反斜杠:os.walk("C:\\")(Python中反斜杠需要转义)
  • 或者使用正斜杠:os.walk("C:/")

修改后的完整代码示例:

import os  # 注意原代码缺少os模块导入,必须添加

logfile = open("Z:/allfileslog.txt", "w")  # 建议把Z:改为Z:/,避免路径歧义
for dirname, dirs, files in os.walk("C:/"):
    for filename in files:
        logfile.write(os.path.join(dirname, filename) + '\n')
logfile.close()

额外说明

你提到打印dirs能看到Users文件夹,这应该是当前工作目录的子目录列表里偶然出现的,但因为遍历起点不对,脚本不会进入该目录进行深层遍历。修改为根路径后,就能正常遍历包括Users在内的所有C盘目录(只要权限允许)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 22:33:28