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

Python 3.8如何检查指定文件夹内是否仅存在直接文件而非子文件夹

代码问题原因
  • os.walk每次迭代会返回固定格式的三元组(当前遍历目录路径, 目录下子文件夹列表, 目录下文件列表),该元组本身永远是非空的,你直接判断if files永远会得到True,所以一直提示有文件。
  • 你没有限定只检查201根目录的内容,os.walk默认会递归遍历所有子目录,不符合只检查根目录直接存放文件的需求。
修正方案

方案1:更简单的实现(无需os.walk)

直接扫描目标目录的第一层条目判断是否存在文件即可,性能更好:

import os

p = r"C:\sample_test\201"

has_direct_files = False
for entry in os.scandir(p):
    if entry.is_file():
        has_direct_files = True
        break

if has_direct_files:
    print(p, " files found in the directory.")
else:
    print(p, " files NOT found in the directory.")

方案2:如果你一定要用os.walk实现

只取os.walk返回的第一组结果(对应传入的根目录内容),判断文件列表是否为空即可:

import os

p = r"C:\sample_test\201"

# 取第一层遍历结果,对应201根目录的内容
_, _, direct_files = next(os.walk(p))
if direct_files:
    print(p, " files found in the directory.")
else:
    print(p, " files NOT found in the directory.")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 23:30:04