Python中找文件名推荐用pathlib(简洁)、os.listdir(灵活)或glob(通配符快),注意区分文件名与完整路径,需用basename或name/stem提取。

在Python中找文件名,核心是遍历目录、匹配条件、提取名称。不一定要用复杂工具,标准库里的 os 和 pathlib 就够用,关键是选对方法、写清逻辑。
pathlib 是 Python 3.4+ 的官方路径操作模块,读起来像自然语言,适合大多数查找场景。
.py 文件名(不含路径):from pathlib import Path<br>names = [f.name for f in Path(".").glob("*.py")]names = [f.name for f in Path(".").rglob("*report*.xlsx")]
names_no_ext = [f.stem for f in Path(".").glob("data_*.csv")]
适合需要自定义规则的情况,比如按长度、是否含数字、大小写组合等筛选。
import os<br>names = [n for n in os.listdir(".") if n and n[0].isupper()]names = [n for n in os.listdir(".") if ".txt" in n and n.replace(".txt", "").replace("-", "").isdigit() and len(n) >= 12]
如果你熟悉 shell 的 * 和 ?,glob 上手最快,支持递归(需加 **)。
艺帆网络工作室网站源码,是国庆后新一批新概念的网站源码,采用流行的Html5和JS组合流畅顺滑,界面清晰明朗,适合科技类企业和公司建站使用。如果你是想成为一家独特的设计公司,拥有独特的文化,追求品质,而非数量与规模。 这种坚持一直贯穿于项目运作之中,从品牌建立、形象推广设计到品牌形象管理。那可以考虑使用这款艺帆网络工作室网站源码。 这款源码中服务项目和团队程序需要在_template文件夹下的in
0
立即学习“Python免费学习笔记(深入)”;
import glob<br>names = [os.path.basename(p) for p in glob.glob("logs/**/*/*.log", recursive=True)].cfg 的文件:names = [os.path.basename(p) for p in glob.glob("?.[0-9]*.cfg")]
很多人混淆这两者。真正要的“文件名”通常指 basename(不含目录),不是全路径。
glob.glob("data/*.csv") 返回的是 "data/report.csv" —— 这是路径,不是文件名[os.path.basename(p) for p in glob.glob("data/*.csv")] 或用 Path(p).name
Path(p).stem 或 os.path.splitext(os.path.basename(p))[0]
基本上就这些。选 pathlib 写得清爽,用 glob 匹配快,靠 os.listdir 控制细——根据你手头的条件挑一个就行。
以上就是如何在Python中找到想要的文件名的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号