Python中glob模块 文件路径匹配模块glob的通配符使用技巧

pythonglob模块通过通配符匹配文件路径,常用符号包括、?和[]。匹配任意数量字符但不跨目录,如.txt匹配当前目录所有.txt文件;*搭配recursive=true可递归搜索;?匹配单个字符,如log_2024-01-0?.log适用于固定格式变化日志;[]限定字符集合,如[abc].txt匹配a/b/c.txt;注意默认不报错无结果且区分大小写环境差异。

在Python中,glob模块常用于查找符合特定规则的文件路径名。它不像正则那样复杂,但通配符的使用技巧足够应对大多数日常需求。关键在于掌握几个常用符号,并知道它们适用的场景。

通配符 * 的灵活用法

* 是最常用的通配符之一,代表“任意数量的字符(不包括目录分隔符)”。比如:

*.txt:匹配当前目录下所有以 .txt 结尾的文件。data_*.csv:匹配类似 data_2023.csvdata_backup.csv 这样的文件名。

一个容易忽略的地方是,* 不会跨目录匹配。例如,*/\*.py 可以匹配子目录中的 .py 文件,但不会进入更深一层的子目录。

如果你想递归搜索所有子目录下的 .py 文件,可以使用 **/ 搭配 recursive=True 参数:

立即学习“Python免费学习笔记(深入)”;

import globglob.glob('**/*.py', recursive=True)

这样就能遍历所有层级目录中的 Python 文件了。

使用 ? 匹配单个字符

? 表示匹配任意一个字符。这个功能适合处理有固定格式但部分内容变化的文件名,比如日志文件:

log_2024-01-0?.log 可以匹配 log_2024-01-01.loglog_2024-01-09.logfile_v?.txt 能匹配 file_v1.txtfile_v2.txt 等。

注意,? 只能匹配一个字符,不能多也不能少。如果你不确定位数,还是用 * 更合适。

使用 [ ] 匹配指定范围的字符

方括号用于限定某一位置上允许出现的字符集合,比如:

[abc].txt 可以匹配 a.txtb.txtc.txt[0-9].csv 匹配以数字命名的 .csv 文件,如 1.csv9.csv[a-zA-Z]_file.txt 匹配首字母为大小写字母的文件,如 A_file.txtz_file.txt

这在需要精确控制某些字符的情况下非常有用,尤其是批量处理时减少误匹配。

注意事项与常见问题

glob 返回的是字符串列表,如果路径不存在,默认也不会报错,只是返回空列表。如果要区分大小写,在 Windows 上默认不区分,Linux 上则区分。如果你只需要判断是否存在匹配项而不关心具体有哪些文件,可以用 glob.has_magic() 来判断是否包含通配符。

glob.has_magic("*.txt")   # Trueglob.has_magic("hello.txt")  # False

基本上就这些。glob 模块虽然简单,但在实际脚本中很实用。只要理解好通配符的作用范围和限制,就能避免很多路径匹配上的坑。

以上就是Python中glob模块 文件路径匹配模块glob的通配符使用技巧的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1362598.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月14日 01:59:06
Python爬虫技术入门教程 Python爬虫基础知识点有哪些
下一篇 2025年12月14日 01:59:18

相关推荐

  • win11锁屏界面不显示时间和日期怎么办_win11锁屏时间与日期不显示修复方法

    首先检查锁屏设置中是否开启时钟显示,1、进入“设置-个性化-锁屏界面”,确认“在登录屏幕上显示时钟”已启用;2、若使用专业版,可通过组策略编辑器启用该功能;3、家庭版用户可修改注册表HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindowsPersonali…

    2026年8月30日
    600
  • Win7安全模式下如何重装系统?Win7安全模式下重装系统教程

    大家好,今天我来给大家带来一篇关于在Win7安全模式下如何重装系统的教程。相信很多朋友都遇到过系统崩溃或者中病毒的情况,这时候最直接有效的解决办法就是重装系统。而在安全模式下操作,可以更好地保障你的文件安全,让电脑恢复到最佳状态。话不多说,我们直接进入正题。 第一步:准备工具 在开始之前,我们需要做…

    2026年8月30日
    300
  • win8自带的metro应用怎么卸载_win8彻底卸载Metro应用指南

    可通过PowerShell卸载Win8 Metro应用:1.以管理员身份运行PowerShell;2.用Get-AppxPackage查看包名;3.执行Remove-AppxPackage卸载指定应用;4.使用Get-AppxPackage -AllUsers | Remove-AppxPackag…

    2026年8月30日
    100
  • 戴尔主机系统蓝屏代码0x0000003B的排查及数据恢复方法

    戴尔主机系统蓝屏代码0x0000003B的排查及数据恢复方法戴尔主机系统蓝屏代码0x0000003B的排查及数据恢复方法戴尔主机系统蓝屏代码0x0000003B的排查及数据恢复方法戴尔主机系统蓝屏代码0x0000003B的排查及数据恢复方法

    蓝屏代码0x0000003b通常由硬件驱动、系统文件损坏或外设冲突引起,排查步骤如下:1. 断开所有非必要外设并重启,若正常则逐一测试找出问题设备;2. 进入安全模式卸载或回滚最近安装的驱动,尤其是第三方驱动,也可使用系统还原点恢复系统;3. 运行windows内存诊断工具检测内存问题,若有错误需更…

    2026年8月30日 用户投稿
    500
  • win10声音突然没了怎么办_win10声音突然没了修复方法

    1、检查并设置正确的默认播放设备,确保扬声器或耳机已启用并设为默认;2、运行Windows音频疑难解答自动检测修复问题;3、重启Windows Audio及Windows Audio Endpoint Builder服务;4、更新或重新安装音频驱动程序;5、关闭音频增强功能避免冲突;6、检查音量混合…

    2026年8月30日
    000
  • win8家庭版怎么打开组策略_win8家庭版打开组策略技巧

    Windows 8家庭版默认不集成组策略编辑器,可通过三种方法启用:1. 使用命令提示符离线安装组策略补丁包,将gpedit文件复制到C盘并运行install.bat脚本;2. 借助可信第三方工具注入组策略功能模块,关闭杀软后运行安装程序并重启;3. 升级至Windows 8专业版或企业版,通过控制…

    2026年8月30日
    000
  • 168.31.1手机登录小米路由器管理页面

    手机无法通过168.31.1访问小米路由器管理页面的主要原因是ip地址错误,正确地址通常是192.168.31.1或miwifi.com;2. 确保手机连接到小米路由器的wi-fi网络,可通过查看状态栏wi-fi图标和网络名称确认;3. 打开浏览器输入192.168.31.1或miwifi.com,…

    2026年8月30日
    100
  • kill是什么意思?

    在Linux中的kill命令用来终止指定的进程(terminate a process)的运行,kill是Linux下进程管理的常用命令。kill 送出一个特定的信号 (signal) 给行程 id 为 pid 的行程根据该信号而做特定的动作,若没有指定,预设是送出终止 (TERM) 的信号。 通常…

    2026年8月30日
    200
  • win10便签数据怎么备份_win10便签数据备份与恢复方法

    首先关闭便笺应用,通过文件资源管理器或运行命令进入%LocalAppData%PackagesMicrosoft.MicrosoftStickyNotes_8wekyb3d8bbweLocalState路径,复制Plum.sqlite文件进行备份;恢复时替换该文件即可还原数据。 如果您需要在重装系统…

    2026年8月30日
    200
  • linux怎么下载安装软件?

    linux是一套免费使用和自由传播的类unix操作系统,是一个基于posix和unix的多用户、多任务、支持多线程和多cpu的操作系统。它能运行主要的unix工具软件、应用程序和网络协议。它支持32位和64位硬件。linux继承了unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。用…

    2026年8月30日
    100
  • win10蓝屏代码0x00000018如何办?

    一、准备工具 要应对win10出现的蓝屏错误代码0x00000018,我们需要提前准备一些必要的工具。建议下载并安装一款可靠的系统修复软件,例如“Windows Repair”或者“System Mechanic”。这类软件具备扫描和修复系统问题的功能,有助于解决蓝屏故障。 二、处理步骤 现在我们来…

    2026年8月30日
    100
  • linux怎么卸载软件?

    linux怎么卸载软件? 1.软件的卸载主要是使用rpm来进行的。卸载软件首先要知道软件包在系统中注册的名称。键入命令: #rpm -q -a 即可查询到当前系统中安装的所有的软件包。 2. 确定了要卸载的软件的名称,就可以开始实际卸载该软件了。键入命令: #rpm -e [package name…

    2026年8月30日
    100
  • 惠普主机系统蓝屏代码0x00000024的故障分析及修复教程

    惠普主机系统蓝屏代码0x00000024的故障分析及修复教程惠普主机系统蓝屏代码0x00000024的故障分析及修复教程惠普主机系统蓝屏代码0x00000024的故障分析及修复教程惠普主机系统蓝屏代码0x00000024的故障分析及修复教程

    蓝屏代码0x00000024通常由文件系统或硬盘问题引起,尤其在惠普主机上常见。1. 原因包括硬盘坏道、磁盘碎片过多、驱动冲突、系统文件损坏及预装软件不兼容;2. 建议进入安全模式卸载新驱动、关闭杀毒软件并运行sfc /scannow和chkdsk修复;3. 使用磁盘检查工具或crystaldisk…

    2026年8月30日 用户投稿
    200
  • linux怎么安装unzip

    linux安装unzip的方法步骤:首先获取unzip源码,并进行解压;然后进入目录;接着将Makefile从unix子目录复制到当前目录;最后进行安装即可。 安装完linux ,发现没有UNZIP,没办法,重新安装。 linux怎么安装unzip? linux安装unzip方法步骤: 1、获取un…

    2026年8月30日
    100
  • 【Briefings in Bioinformatics】四篇好文简读-专题21

    【Briefings in Bioinformatics】四篇好文简读-专题21【Briefings in Bioinformatics】四篇好文简读-专题21【Briefings in Bioinformatics】四篇好文简读-专题21【Briefings in Bioinformatics】四篇好文简读-专题21

    一 论文题目: SMNN: 通过监督互最近邻检测对单细胞RNA-seq数据进行批次效应校正 论文摘要: 在整合来自不同批次的单细胞RNA测序(scRNA-seq)数据时,批次效应校正被视为一项必要的工作。现有的先进方法通常忽略了单细胞聚类标签信息,但这些信息实际上可以提升批次效应校正的效果,特别是在…

    2026年8月30日 用户投稿
    300
  • win10怎么把我的电脑放到桌面_此电脑图标显示到桌面设置

    可通过桌面图标设置、注册表编辑器或组策略编辑器将“此电脑”图标添加到桌面,便于快速访问驱动器和文件夹。首先右键桌面选择个性化→主题→桌面图标设置,勾选“计算机”并确定;若无效可使用注册表编辑器,定位至HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVe…

    2026年8月30日
    300
  • win8桌面图标不见了怎么恢复_win8桌面图标丢失找回方法

    桌面图标消失可先检查显示设置并重启资源管理器,若无效则清除图标缓存、运行SFC扫描修复系统文件,并进行全盘杀毒以排除恶意软件影响。 如果您发现Windows 8系统的桌面图标突然消失,这可能是由于设置被更改、资源管理器故障或系统缓存问题导致。以下是几种有效的恢复方法。 本文运行环境:联想ThinkP…

    2026年8月30日
    200
  • ​​复制粘贴快捷键Ctrl加什么?完整快捷键大全​​

    ctrl+v粘贴后格式变化是因为复制内容包含源格式信息,粘贴时被一并保留;解决方法是使用ctrl+shift+v无格式粘贴或选择“粘贴为纯文本”;1. 可通过第三方工具如autohotkey自定义ctrl快捷键,需编写脚本实现;2. 不同软件中ctrl快捷键可能存在差异,部分软件会覆盖默认设置,建议…

    2026年8月30日
    100
  • win10 DNS怎么修改_win10系统DNS服务器地址修改方法

    首先修改DNS设置,可通过网络适配器属性配置首选8.8.8.8和备用8.8.4.4,或使用netsh命令行设置静态DNS;随后清除DNS缓存以确保新设置生效。 如果您尝试访问某个网站,但系统提示无法解析域名,则可能是由于当前DNS服务器出现问题或响应缓慢。以下是解决此问题的步骤: 本文运行环境:De…

    2026年8月30日
    200
  • Linux怎么安装pygame?

    如果你使用的是 linux 系统和 python 3 ,就需要使用 pip 来安装 pygame 。 pip 是一个负责为你下载并安装 python 包的程序。 1.首先检查一下是否安装了pip。  pip –version 或者用find / -name pip查看是否已经安装,如果安装了会查出…

    2026年8月30日
    100

发表回复

登录后才能评论
关注微信