首页 > 编程语言 >glob:Python中文件名的匹配

glob:Python中文件名的匹配

时间:2023-09-14 09:55:24浏览次数:40  
标签:匹配 name 文件名 Python glob 示例 如下

前言

既然在Pathlib库中提到了glob()函数,那么我们就专门用一篇内容讲解文件名的匹配。其实我们有专门的一个文件名匹配库就叫:glob。

不过,glob库的API非常小,但是仅仅应用于文件名的匹配绰绰有余。只要是在实际的项目中需要过滤,或者匹配一组文件,都可以使用该库进行操作。

通配符

星号(*)

话不多说,下面我们使用通配符来匹配文件名,示例如下:

import glob

for name in sorted(glob.glob('text/*')):
    print(name)

运行之后,效果如下:

这里不仅用*通配符获取了目录下的所有文件,而且还对其进行了排序。

问号(?)

问号(?)是用来匹配单字的,比如我们赛选上面1开头的图片文件。示例如下:

import glob

for name in glob.glob('text/1?.png'):
    print(name)

运行之后,效果如下:

区间匹配([0-9][a-z][A-Z])

从上面两个匹配我们看出来,glob库的匹配规则与正则表达式有些相似。既然它能匹配模糊的,一个或多个字符,那么肯定也可以匹配区间字符。

示例如下:

import glob

for name in glob.glob('text/15[a-z].*'):
    print(name)

运行之后,效果如下:

转义元字符

当然,上面的文件名都是常规的文件名,都是用字母与数字组成的。但是,有些人比较怪,可能在文件名中包含了特殊的字符,比如上面的匹配字符“?*[”等。那怎么办呢?用反斜杠“\”转义吗?

其实,我们还有更简单的,直接使用escape()函数进行操作。示例如下:

import glob

escape_str='?*[]'
for char in escape_str:
    pattern = 'text/*' + glob.escape(char) + '.png'
    for name in glob.glob(pattern):
        print(name)

运行之后,效果如下:

标签:匹配,name,文件名,Python,glob,示例,如下
From: https://www.cnblogs.com/arena/p/17701621.html

相关文章

  • Python采集知网
    Python爬虫初探selenium+beautifulsoup4+chromedriver安装模块:*importpymssql*pipinstallbs4*pipinstallselenium*pipinstallpd*pipinstallpandas*pipinstallPyQt5安装浏览器驱动:你自己电脑上装了什么浏览器,就下载对应的驱动程序即可,本文使用的是Google,所......
  • notepad运行python代码的步骤
    notepad运行python代码的步骤:1、用notepad++打开python文件。或者新建文件,保存为.py格式。2、在菜单栏上面有一个运行,我们点击运行->运行,或者使用快捷键F5。3、点击运行菜单后会弹出notepad++中的运行窗口,不是系统自带的cmd运行窗口。输入运行程序名的输入框填写内容为:cmd/k......
  • python:可变类型与不可变类型
    python:可变类型与不可变类型一、引用变量与变量在存储的存储形式在python有个id()方法,可以获取某个变量指向的内存地址num1=10#num1实际储存在栈内存中,当调用num1时通过内存地址引用储存在数据区中的10#如果把num1的值赋予num2,两者是什么关系呢num2=num1print(num......
  • Python基于License的项目授权机制
    1需求说明当项目平台被首次部署在服务器上时,系统是没有被授权的。当客户希望将平台部署到某一台特定的服务器进行使用时,需要提供该服务器的MAC地址,以及授权到期时间,请求获取授权码,收到授权码后,就能正常使用迁移平台。授权方收到授权请求时,获得平台安装的目标服务器的MAC地址......
  • Python学习笔记-Python函数进阶
    函数多返回值思考如果一个函数有两个return,程序如何执行?例如:defreturn_num():return1return2result=return_num()print(result)上面代码只执行了第一个return,因为retrun可以退出当前函数,导致return下方的代码不执行。多个返回值如果一个函数要有多个返回值,书写方式示......
  • python
    Day01计算机基础和环境搭建课程概要计算机基础编程本质Python的介绍Python环境的搭建计算机基础1.1基本概念计算机的组成计算机是由多个硬件组合而成,常见的硬件有CPU,硬盘,内存,网卡,显示器,机箱,电源...注意事项:机械将零件组合到一起,他们是无法进行协作的操作系统......
  • 【计算机视觉开发(一)】: yolov5与python环境安装
    前言:最近正在学习计算机视觉开发这块,打算开通一个专栏记录学习总结以及遇到的问题汇总。本篇是这个系列的第一篇,主要是环境安装以及yolov5的介绍。关于计算机视觉:参考:百度百科-关于计算机视觉)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是是指用摄影机和......
  • 修改了虚拟机名称后,数据存储上的文件名称如何同步修改
    更改虚拟机名称虚拟机的名称在虚拟机所在的文件夹中必须是唯一的。如果将某虚拟机移至其他数据存储文件夹或移至具有相同名称的现有虚拟机的主机,则可以更改该虚拟机的名称以使其保持唯一。 更改某虚拟机的名称时,应更改 vCenterServer 清单中用于标识该虚拟机的名称。该操作......
  • SQLite - Python
    安装SQLite3可使用sqlite3模块与Python进行集成。sqlite3模块是由GerhardHaring编写的。它提供了一个与PEP249描述的DB-API2.0规范兼容的SQL接口。您不需要单独安装该模块,因为Python2.5.x以上版本默认自带了该模块。为了使用sqlite3模块,您首先必须创建一......
  • 软件测试|Python数据可视化神器——pyecharts教程(八)
    Pyecharts绘制热力图当涉及可视化数据时,热力图是一种强大的工具,它可以帮助我们直观地了解数据集中的模式和趋势。在本文中,我们将学习如何使用Python中的Pyecharts库创建热力图,以便将数据转化为可视化的形式。什么是热力图?热力图是一种用于显示数据密度的二维图表,其中颜色的变化......