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

Python使用os.walk遍历目录时所有文件stat状态值一致如何修复?

问题修复方案

根因分析

  • 代码中os.stat()的入参固定为初始根目录rootDir,且仅在外层遍历循环中执行一次,所有输出的状态实际都是根目录的固定属性,和遍历到的子目录、单个文件无关
  • 没有为每个遍历到的文件拼接所在目录的完整路径,无法正确获取单个文件的状态属性

修复后代码

import os

rootDir = '.'
for dirName, subdirList, fileList in os.walk(rootDir):
    print('目录路径: %s' % dirName)
   
    for fname in fileList:
        # 拼接得到文件的完整路径
        full_path = os.path.join(dirName, fname)
        # 针对当前文件单独获取状态
        status = os.stat(full_path)
        print('\t 文件名: %s 状态信息: %s' % (fname, status))

可选优化

如果需要提取指定的状态字段,可以直接调用stat对象的对应属性:

  • 文件字节大小:status.st_size
  • 文件最后访问时间:status.st_atime
  • 文件最后修改时间:status.st_mtime
  • Windows下文件创建时间/Unix下属性变更时间:status.st_ctime

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 06:54:01