首页 > 编程语言 >`glob`和`fnmatch`都是Python的内置模块,用于文件名的匹配,但它们的功能和使用场景有所不同²。 1. **fnmatch**: `fnmatch`模块提供了一种简单的方式来匹配Un

`glob`和`fnmatch`都是Python的内置模块,用于文件名的匹配,但它们的功能和使用场景有所不同²。 1. **fnmatch**: `fnmatch`模块提供了一种简单的方式来匹配Un

时间:2024-01-31 10:07:30浏览次数:22  
标签:匹配 模块 文件名 Python glob https fnmatch

`glob`和`fnmatch`都是Python的内置模块,用于文件名的匹配,但它们的功能和使用场景有所不同²。


1. **fnmatch**: `fnmatch`模块提供了一种简单的方式来匹配Unix shell风格的模式,如`*.py`, `Dat[0-9]*`, `Dat[!0-9]*`等²。它只是将一个文件名与模式进行比较,返回True或False²。例如,你可以使用`fnmatch`模块来检查一个文件名是否符合特定的模式。`fnmatch`独立于任何文件系统,你可以使用它来处理来自数据库的文件名列表²。


2. **glob**: `glob`模块则提供了一个在目录中使用模式匹配查找所有文件名的函数²。与`fnmatch`不同,`glob`会遍历你的文件系统²。例如,你可以使用`glob`模块来获取符合特定模式的所有文件名。`glob`实际上在内部使用了`fnmatch`²。


总的来说,`glob`和`fnmatch`都可以用于文件名的模式匹配,但`glob`提供了更高级的功能,如遍历文件系统,而`fnmatch`则更加简单和灵活²。希望这个解答能帮助你理解`glob`和`fnmatch`的区别!


源: 与必应的对话, 2024/1/31

(1) python - Why do both fnmatch and glob exist? - Stack Overflow. https://stackoverflow.com/questions/67171227/why-do-both-fnmatch-and-glob-exist.

(2) glob 模式匹配简明教程 - 掘金. https://juejin.cn/post/6844904077801816077.

(3) Python之文件查找模块fnmatch、glob及实际案例 - 腾讯云. https://cloud.tencent.com/developer/article/1811028.

标签:匹配,模块,文件名,Python,glob,https,fnmatch
From: https://blog.51cto.com/u_16055028/9501623

相关文章

  • 电源模块 输入电压范围 输出电压电流 效率 短路保护 过载保护
    电源模块输入电压范围输出电压电流效率短路保护过载保护电源模块的重要参数包括:输入电压范围:指电源模块能够正常工作的输入电压范围,通常以最小和最大输入电压表示。输出电压:指电源模块输出的稳定直流电压。输出电流:指电源模块能够提供的最大输出电流。效率:指电源模块将输......
  • WebAssembly核心编程[1]:wasm模块实例化的N种方式
    当我们在一个Web应用中使用WebAssembly,最终的目的要么是执行wasm模块的入口程序(通过start指令指定的函数),要么是调用其导出的函数,这一切的前提需要创建一个通过WebAssembly.Instance对象表示的wasm模块实例(源代码)。一、wasm模块实例化总体流程二、利用WebAssembly.Module创建实......
  • 100个python模块
    1.NumPy-数值计算扩展库。提供高效的多维数组对象和用于处理这些数组的工具。http://www.numpy.org/2.SciPy-科学计算库。构建在NumPy之上,用于科学与技术计算。https://www.scipy.org/3.Pandas-数据分析与操作库。提供高性能易用的数据结构和数据分析工具。http://panda......
  • BOSHIDA DC电源模块在智能家居中的作用与发展潜力
    BOSHIDADC电源模块在智能家居中的作用与发展潜力DC电源模块在智能家居中的作用是为智能设备提供稳定的直流电源。智能家居中的设备通常使用低压直流电源,例如5V或12V,而传统的交流电源需要通过适配器将交流电转换成直流电。使用DC电源模块可以直接为智能设备提供所需的直流电源,省......
  • Python计算两图相似性-像素匹配(pixelmatch)
    1、简介GitHub:https://github.com/whtsky/pixelmatch-py 2、代码fromPILimportImagefrompixelmatch.contrib.PILimportpixelmatchimg_a=Image.open("WD1.png").resize((1920,1080))img_b=Image.open("WD2.png").resize((1920,1080))img......
  • burpsuite抓取修改http和https流量(proxy模块的简单应用)
    一、操作环境目标机:DVWA网站操作机:BurpSuite Prov2.1;FireFox浏览器二、操作步骤1.设置BP代理服务端口代理--选项--监听器(选项卡) 为什么不用8080?因为Tomcat默认端口和BP的默认监听端口一致,同时打开会导致端口冲突。2.设置Fir......
  • sqlalchemy模块——python的ORM数据库
    介绍ORM数据库,简单理解就是把数据库的表抽象成一个个类,对数据库进行增删改查的时候可以直接通过库中的属性进行访问,即用python抽象数据库,通过sqlalchemy自动转换成数据库sql语句执行,可以更专注于代码的实现,可以配合sqlacodegen直接映射已有的数据库表,实际操作的时候需要借助其他......
  • shelve模块——python内置关系型数据库
    介绍python内置的关系型数据库,key-value的方式进行存储,使用的时候可以像字典一样调用,一般数据需要持久化的时候会用到此数据库,比如测试环境的一些基本不会更改的配置信息,可以使用shelve库存储,后续调用的时候不必每次都从接口拉取使用导入importshelve写入#writeback参数......
  • redis模块——python操作redis
    介绍使用python操作redis库中的缓存,常见操作,测试后清除测试数据缓存,测试前清理缓存保证不被之前的测试数据影响到测试准确性使用安装pipinstallredis导入importredis模糊搜索查找keymsp_fc_rule=self.msp_redis.keys('msp-cache-frequency-limit-info:*')循环遍历k......
  • C++ Qt开发:运用QJSON模块解析数据
    Qt是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用QJson组件的实现对JSON文本的灵活解析功能。JSON(JavaScriptObjectNotation)是一种轻量级......