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

Python统计指定目录下一级文件夹数量(不含文件与子文件夹)的代码异常排查

解决指定目录下文件夹数量统计的问题

嘿,我知道你为啥统计结果不对啦!你用的os.listdir(path)返回的只是目标目录里的条目名称(比如文件夹名、文件名),不是完整的路径。直接用os.path.isdir(i)的时候,它会去你的当前工作目录找这个名字,而不是你指定的path目录下,所以自然判断不出那些文件夹,结果就返回0了。

给你两种修正方案:

方案1:拼接完整路径(兼容旧Python版本)

把每个条目和目标路径拼接成完整路径,再判断是不是文件夹:

import os
path = "C:/Users/[Name]/Desktop/python_testing/my_folder"
# 用os.path.join拼接路径,确保跨系统兼容性
num = sum(os.path.isdir(os.path.join(path, i)) for i in os.listdir(path))
print(num)

方案2:用os.scandir更高效(Python 3.5+推荐)

os.scandir会返回带属性的DirEntry对象,直接调用is_dir()就能判断,不用额外拼接路径,效率更高:

import os
path = "C:/Users/[Name]/Desktop/python_testing/my_folder"
num = sum(1 for entry in os.scandir(path) if entry.is_dir())
print(num)

另外别忘了把路径里的[Name]替换成你实际的用户名哦,比如"C:/Users/John/Desktop/python_testing/my_folder",不然路径本身无效也会导致统计错误~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 06:07:50