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

如何在Python 3.10.x中使用os.scandir()忽略隐藏文件夹?

用Python过滤C盘隐藏文件夹

用os.scandir()遍历目录时,它返回的DirEntry对象已经自带了文件属性数据,在Windows下直接用这个属性就能快速判断文件夹是否隐藏,不用额外调用stat()拖慢速度。

直接用下面的代码就能只输出非隐藏的文件夹路径:

import os

# Windows系统中隐藏文件的属性常量
FILE_ATTRIBUTE_HIDDEN = 0x02

for entry in os.scandir('C:/'):
    # 先确认是文件夹,再排除带隐藏属性的项
    if entry.is_dir(follow_symlinks=False) and not (entry.attributes & FILE_ATTRIBUTE_HIDDEN):
        print(entry.path)

关键细节:

  • entry.is_dir(follow_symlinks=False):仅处理真实文件夹,跳过符号链接,避免误判
  • 通过位运算entry.attributes & FILE_ATTRIBUTE_HIDDEN判断隐藏属性:结果非零则为隐藏文件夹,直接排除
  • 利用DirEntry缓存的attributes属性,比单独调用stat()更高效,减少系统调用开销

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 21:18:17