python模块学习之glob模块

glob模块

功能描述:glob模块可以使用Unix shell风格的通配符匹配符合特定格式的文件和文件夹,跟windows的文件搜索功能差不多。glob模块并非调用一个子shell实现搜索功能,而是在内部调用了os.listdir()和fnmatch.fnmatch()。查看我之前写的fnmatch。

glob模块共包含以下3个函数:glob,isglob和escape。

glob(pathname, recursive=False)

第一个参数为需要匹配的字符串.(尽量在字符串前加r)
第二个参数代表递归调用,与特殊通配符“**”一同使用,默认为False。 
路径格式可以是绝对路径 /usr/src/Python-1.5/Makefile ,也可以是相对路径../../Tools//.gif。
在3.5版本之后,glob函数支持一个特殊的通配符“**”,该通配符可以匹配指定路径里所有文件和目录,包括子目录里的所有文件和目录。使用这个通配符必须加上recursive=True参数。 
(在有复杂目录结构的情况下使用该通配符可能会导致性能下降,拖累整个程序的运行,需谨慎使用!)

例如,目录中包含文件: 1.gif, 2.txt, card.gif里面含有子目录sub,sub目录里含有3.txt.

>>> import glob
>>> glob.glob('./[0-9].*')
['./1.gif''./2.txt']
>>> glob.glob('*.gif')
['1.gif''card.gif']
>>> glob.glob('?.gif')
['1.gif']
>>> glob.glob('**/*.txt', recursive=True)
['2.txt''sub/3.txt']
>>> glob.glob('./**/', recursive=True)
['./''./sub/']

需要注意的是如果,文件名的前面含有点像这样,card.gif 和.card.gif,需要下面这样的方式处理通配符前加.

>>> import glob
>>> glob.glob('*.gif')
['card.gif']
>>> glob.glob('.*.gif')
['.card.gif']

iglob(pathname, recursive=False)

参数与glob()一致。 
返回一个迭代器,遍历该迭代器的结果和glob()的返回结果一致。

escape(pathname)

转义所有的特殊字符('?','*'和'['])。如果您想匹配任意可能包含特殊字符的字符串,这将非常有用。驱动器/ UNC共享点中的特殊字符不会转义,例如在Windows系统上 escape('//?/c:/Quo vadis?.txt') 将返回 '//?/c:/Quo vadis[?].txt'。但是这些非法字符是无法创建文件的所以一般也就用来测试用了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/449139.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ELK 构建 MySQL 慢日志收集平台详解

ELK 介绍 ELK 最早是 Elasticsearch(以下简称ES)、Logstash、Kibana 三款开源软件的简称,三款软件后来被同一公司收购,并加入了Xpark、Beats等组件,改名为Elastic Stack,成为现在最流行的开源日志解决方案&…

Visual Studio 的码云扩展 V1.0.85 发布

开发四年只会写业务代码,分布式高并发都不会还做程序员? >>> Visual Studio 的码云扩展 V1.0.85 已发布: 针对扩展进行了SDK部分的重写修正克隆窗体和快捷方式的图标颜色随主题变化修正快捷方式 优化用户登录和token处理机制调整了…

shark恒破解笔记4-API断点GetPrivateProfileStringA

这小节是通过断在GetPrivateProfileStringA,然后找到注册码的。 1.运行程序输入假码111111,提示重启。通过这判断这是一个重启来验证的,那么它是如何来验证的呢?观察程序目录下会发现有一个名为“config.ini"的文件 那么判断…

开关语句、循环语句、goto

复习: 1、数据类型:signed char 1 %hhd -128~127signed short 2 %hd -32768~32767signed int 4 %d 正负20亿signed long 4 %ldsigned long long 8 %lld 9天开头的19位数unsigned char …

2-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案安全篇(监听Wi-Fi和APP的数据)

1-STM32物联网开发WIFI(ESP8266)GPRS(Air202)系统方案安全篇(来看一下怎么样监听网络数据,监听电脑上位机软件的数据) 因为那个软件只能监听咱自己电脑上的数据,所以咱就用电脑开个热点,然后让Wi-Fi和APP连接咱电脑的热点,这样就能监听数据了 电脑开个热点 手机APP连接这个热点…

tomcat是否有必要配置环境变量(摘)

之前发表了一篇关于如何安装和配置Tomcat的文章,而最近在开发项目的时候总是报错。后来被公司的大神问了一句:是谁告诉你Tomcat是需要配置环境变量的? 作为新手的我瞬间整个人都不好了!于是偷偷百度了一下,终于找到了关…

生成迷宫/C++

小时候,都喜欢玩迷宫,现在的电脑上还可以玩3D类迷宫。 那么每次开始游戏时,迷宫里密密麻麻的道路是怎么生成的呢? 在代码里面,我们把它们想象成一堆像素小格子,当两个格子连在一起,就像一堵墙&a…

selenium操作浏览器的前进和后退

前进关键字:driver.forward() 后退关键字:driver.back() 测试对象:1、https://www.baidu.com/ 2、https://www.sogou.com/ 实例代码: 1 # 导入测试所需的库或者模块2 from selenium import webdriver3 import unittest4 import ti…

阿里云 ECS服务器 开放 8080 端口 -- 图解

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 由于 kong-dashboard 的端口是映射到 8080 的,服务已启动成功却一直访问不了,最后才想起端口没有开放 ... 1. 登…

.NET高级代码审计(第三课)Fastjson反序列化漏洞

0X00 前言 Java中的Fastjson曾经爆出了多个反序列化漏洞和Bypass版本,而在.Net领域也有一个Fastjson的库,作者官宣这是一个读写Json效率最高的的.Net 组件,使用内置方法JSON.ToJSON可以快速序列化.Net对象。让你轻松实现.Net中所有类型(对象,…

IDEA:No SLF4J providers were found.

如果您是用IDEA 的 maven 写的 将slf4j的导入包 更改 为下列代码 <dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.8.0-beta2</version></dependency><dependency><groupId&…

没变强是因为你太舒服(图)

职业生涯很长&#xff0c;对企业而言&#xff0c;它需要你成为一个专才&#xff0c;但从职业发展来看&#xff0c;你需要成为一个全才&#xff0c;方能适应社会的变化。 阻碍你成为全才的不良习惯有很多&#xff0c;有时候我们喜欢趋利避害&#xff0c;拖延症更是让自己定下来…

解决:DuplicateMappingException: Table [xx] contains physical column name referred to by multiple ... .

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 报错如题&#xff1a; Caused by: org.hibernate.DuplicateMappingException: Table [xxx] contains physical column name [comment] …

路由进阶

1>路由组件传参 在组件中使用 $route 会使之与其对应路由形成高度耦合&#xff0c;从而使组件只能在某些特定的 URL 上使用&#xff0c;限制了其灵活性。 解决方法: 1.1若是动态匹配页面&#xff0c;只需要在路由参数中加入props:true即可。 import Home from "/views/…

物联网摄像机通讯_网络调试助手

1&#xff0c;文档目的&#xff1a; 了解对于物联网网关与摄像机协议联动&#xff0c;进行报警抓图&#xff0c;智能检测&#xff0c;OSD叠加&#xff0c;语音播报控制等联动及数据交互。 适用产品&#xff1a;物联网网关 &#xff08;OSD是屏幕显示技术的一种&#xff09; 2…

TOJ 3046: 招商银行网络系统

3046: 招商银行网络系统 Time Limit(Common/Java):1000MS/3000MS Memory Limit:65536KByteTotal Submit: 12 Accepted:3 Description 虽然招商银行的网络安全已经做得非常完善&#xff0c;但是天有不测风云&#xff0c;招商银行内部网络系统的一台服务器意外感…

vue打包成app后,背景图片不显示

问题&#xff1a; 在使用npm run build 打包后&#xff0c; 如果在页面中使用img标签引入&#xff0c;打包后的路径是由index.html开始访问的&#xff0c;真正访问的是Static/img/图片名&#xff0c; 是正确的&#xff0c; 但是写在css 中的background: url("../../assets…

Docker 环境下如何 安装 Zookeeper

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 第一步&#xff1a;首先下载Zookeeper的镜像文件&#xff1a; 从仓库中pull 这个zookeeper镜像&#xff1a;docker pull jplock/zookeep…

office教程:教你Excel 怎么样使用信息函数

Excel如何使用信息函数信息函数专门用来返回某些指定单元格或区域的信息&#xff0c;例如获取文件路径、单元格格式信息或操作环境信息等。一&#xff0c;使用CELL函数返回引用单元格信息工作表中的每一个单元格都有对应的单元格格式、位置和内容等信息&#xff0c;在Excel中可…

二叉查找树,红黑树

漫画算法&#xff1a;什么是红黑树&#xff1f;&#xff08;适合初学红黑树小白简单易懂&#xff09; 2018年09月14日 09:55:54 苏杭-Java工程师 阅读数&#xff1a;494———————————— 二叉查找树&#xff08;BST&#xff09;具备什么特性呢&#xff1f; 1.左子树上所…