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

如何获取目录中的所有文件(不含子目录)?

获取目录下所有文件(不含子目录)的正确方法

你之前靠判断名称含“.”的方法存在明显缺陷:会漏掉无扩展名的文件(比如Linux下的可执行文件),还会误把带点的子目录(比如.git、my.config.dir)当成文件。下面是两种靠谱的解决方案:

方法一:os模块组合使用

用os.listdir获取所有条目,再通过os.path.isfile判断是否为文件(注意要拼接完整路径):

import os

target_dir = "/你的目标目录路径"
# 列表推导式过滤出所有文件
files = [item for item in os.listdir(target_dir) if os.path.isfile(os.path.join(target_dir, item))]

方法二:pathlib模块(Python3.4+推荐)

pathlib是更现代的路径操作库,代码更简洁直观:

from pathlib import Path

target_dir = Path("/你的目标目录路径")
# 获取所有直接子文件,返回文件名列表
files = [file.name for file in target_dir.glob("*") if file.is_file()]
# 如果需要完整文件路径,直接保留file对象即可
# files = [file for file in target_dir.glob("*") if file.is_file()]

可选:排除隐藏文件

如果需要过滤掉开头带“.”的隐藏文件,只需在过滤条件里加判断:

  • os模块版本:
files = [item for item in os.listdir(target_dir) 
         if os.path.isfile(os.path.join(target_dir, item)) 
         and not item.startswith(".")]
  • pathlib版本:
files = [file.name for file in target_dir.glob("*") 
         if file.is_file() 
         and not file.name.startswith(".")]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 02:50:29