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,一经查实,立即删除!

相关文章

根据一个属性,剔除 Json 中重复元素(删除 JSON 中重复的部分)

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 [ {"data" : {"code" : "044","post" : "xxx领导", "email" : "…

给生命一个助跑的过程(图)

在高原的上空,常常可以见到秃鹫在翱翔。 秃鹫又叫座山雕,也被人誉为“神鹰”,是高原上体格最大的猛禽。它们往往栖息在海拔2000-5000多米的高山原上,体重达到7-11公斤。秃鹫张开翅膀后,整个身体有2米多长,…

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

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

数据类型转换规则C语言

一、数据类型 为什么对数据进行分类:节约存储空间,提高运行速度。整型:signedsigned char 1 -128~127signed short 2 -32678~32767signed int 4 正负20亿signed long 4/8 正负20亿/9…

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

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

用 FastJSON 将 JSON 字符串转换为 Map

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 本文是利用阿里巴巴封装的FastJSON来转换json字符串的。例子如下: import com.alibaba.fastjson.JSON; import com.aliba…

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 …

成功男士的健康心理特征

自信:他们普遍都有很强的自信心,有时有咄咄逼人的感觉。 急迫感:他们通常很急地想见到事物的成果,因此会给别人带来许多的压力。他们信仰“时间就是金钱”,不喜欢也不会把宝贵的时间浪费在琐碎的无聊事情上。 脚踏实…

DBlink的创建与删除

创建方式一: create [public] database link link名称 connect to 对方数据库用户identified by 对方数据库用户密码 using 对方数据库ip:端口/服务名; 创建方式二: create [public] database link link名称 connect to 对方数据库用户identified by 对…

kong 启动报错 could not retrieve server_version: timeout

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 报错: nginx: [error] init_by_lua error: /usr/local/share/lua/5.1/kong/init.lua:169: [postgres error] could not ret…

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

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

数组越界的后果

数组: 什么是数组:变量的组合,是一种批量定义变量的方式。 定义:类型 数组名[数量];int arr[5]; 使用:数组名[下标];下标:从零开始,范围:0~数量-1。 遍历:与for循环配合…

职场心理:12个建议或许能改变你的一生(图)

心理引言:如何更好实现自我的职业目标?听起来很简单,回答也很简短,就是你必须清楚你最终想要实现什么?只要你这样做,你就已经开始从看的见和看不见的两条路径来实现你的目标。职场是一种特殊的环境&#xf…

python—包

1.模块 可以增加代码的重复利用的方式 避免命名冲突 如何定义模块 模块就是一个普通文件,所以任何代码可以直接书写规范 函数(单一的功能)类(相似功能的组合,或者类似业务模块)测试代码 如何使用模块 模块…

Docker Installation : Docker 中安装并启动 Kong

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 Details about how to use Kong in Docker can be found on the DockerHub repository hosting the image: kong. We also have a Docke…

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

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

走迷宫+推箱子

两个小游戏的大致逻辑 走迷宫: 1、定义二维字符数组作为迷宫 2、定义变量记录老鼠的位置 3、获取游戏开始时间 3、进入循环 1、清理屏幕,使用system调用系统命令。 2、显示迷宫(遍历二维字符数组) 3、检查是否到达出口 获取游戏结束时间,计算出走出迷宫用…

Facebook开源ptr:在Python环境中并行运行单元测试

Facebook开源了一个名为Python Test Runner(ptr)的新项目,允许开发人员运行Python单元测试套件。ptr和现有测试运行器之间的主要区别在于ptr通过爬取存储库查找一定的Python项目,这些项目带有的单元测试在安装文件中已经定义过。 …

小窍门解决大问题(组图)

1.洗头时,在水中放少许盐,也可以预防脱发。 2.用醋洗头,可以令头发飘顺,容易打理而且兼有去头皮屑的功效。特别适合烫染后的头发。 3.刷牙时在牙膏上加上一点小苏打,刷三次后牙齿洁白如玉,牙锈自然脱落…