Glob 语法及解析
Glob 语法及解析
目录
- 1. glob 简介
- 2. glob 语法
- 3. .gitignore
- 4. Python glob
1 glob 简介
glob 是用于匹配符合指定模式的文件集合的一种语言, 类似于正则表达式, 但更加简单。
Update-09-22: 前两天阮一峰老师更新了他的博客,内容讲的就是 Glob, 强烈推荐。
- 命令行通配符教程 - 阮一峰
2 glob 语法
glob 的语法很简单:
| 通配符 | 描述 | 例子 | 匹配 | 不匹配 |
|---|---|---|---|---|
* |
匹配任意数量的任何字符,包括无 | Law* |
Law, Laws, Lawyer |
GrokLaw, La, aw |
? |
匹配任何 单个 字符 | ?at |
Cat, cat, Bat, bat |
at |
[abc] |
匹配括号中给出的一个字符 | [CB]at |
Cat, Bat |
cat, bat |
[a-z] |
匹配括号中给出的范围中的一个字符 | Letter[0-9] |
Letter0, Letter1 … Letter9 |
Letters, Letter, Letter10 |
[!abc] |
匹配括号中未给出的一个字符 | [!C]at |
Bat, bat, cat |
Cat |
[!a-z] |
匹配不在括号内给定范围内的一个字符 | Letter[!3-5] |
Letter1… |
Letter3 … Letter5, Letterxx |
Update-2018-07-18: 使用 **/* 可以匹配当前目录树中的所有文件, 通过 **/*.py 匹配所有后缀名为 .py 的文件
Update-2018-09-20: 好像只是 Python 中 pathlib.Path.glob 支持列出所有文件,其他工具只是列出当前所有子目录中匹配的文件,子目录的子目录需要 **/**/*.
3 .gitignore
git 的 .gitignore 文件可以使用 glob 模式匹配, 另外还有一些规则:
- 所有空行或者以
#开头的行都会被Git忽略 - 匹配模式可以以
/开头防止递归 - 匹配模式可以以
/结尾指定目录 - 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号
!取反
4 Python glob
Python 有进行 glob 匹配的标准库, 使用也很简单:
# -*- coding: utf-8 -*-
import glob # glob 只有两个函数, 功能差不多, 只不过一个返回列表, 一个返回迭代器 glob.glob('*.org') # 返回所有后缀名为 .org 的文件 glob.iglob('*/') # 返回匹配所有目录的迭代器
标准库 glob 在 Python2 和 Python3 中是相同的。
Glob 语法及解析的更多相关文章
- Solr系列五:solr搜索详解(solr搜索流程介绍、查询语法及解析器详解)
一.solr搜索流程介绍 1. 前面我们已经学习过Lucene搜索的流程,让我们再来回顾一下 流程说明: 首先获取用户输入的查询串,使用查询解析器QueryParser解析查询串生成查询对象Query ...
- JSON【介绍、语法、解析JSON】
什么是JSON JSON:JavaScript Object Notation [JavaScript 对象表示法] JSON 是存储和交换文本信息的语法.类似 XML. JSON采用完全独立于任何程 ...
- JAVA企业级开发-xml基础语法&约束&解析(04)
一.什么是xml html:超文本标记语言.它主要是用来封装页面上要显示的数据,最后通过浏览器来解析html文件,然后把数据展示在浏览器上.同样我们可以使用JS和DOM技术对html文件进行解析和操作 ...
- Shell case语法结构解析
case ... esac 与其他语言中的 switch ... case 语句类似,是一种多分枝选择结构,每个 case 分支用右圆括号开始,用两个分号 ;; 表示 break,即执行结束,跳出整个 ...
- Gradle语法基础解析
在从ADT转移到AndroidStudio下开发,必然会遇到Gradle脚本打包的问题.看懂一个脚本最基本的前提就是了解它的语法,我在转移开发环境的过程中,也开始接触学习Gradle,在此做了一些总结 ...
- JS基础语法---预解析
预解析:就是在解析代码之前 1. 预解析做什么事? 把变量的声明提前了----提前到当前所在的作用域的最上面 函数的声明也会被提前---提前到当前所在的作用域的最上面 举例: function ...
- sass语法练习解析--实例练习
暂时使用的是:Koala,监测转义 $fff: #ffffff; $red:red; h1{ color: $fff; } 简单调用 #content{ color: $fff ...
- 用java实现一个简易编译器-语法解析
语法和解析树: 举个例子看看,语法解析的过程.句子:“我看到刘德华唱歌”.在计算机里,怎么用程序解析它呢.从语法上看,句子的组成是由主语,动词,和谓语从句组成,主语是“我”,动词是“看见”, 谓语从句 ...
- 初试Scala解析XML
使用Scala解析XML,充分体现了函数式编程的特点,简洁和明了.用Java去解析不是不行,只不过代码不够清晰明了. 首先先把XML文件读入到内存里: val someXml = XML.loadFi ...
随机推荐
- T-SQL的存储过程
1.简介 存储过程可以说是一个记录集,它是由一些T-SQL语句组成的代码块,这些T-SQL语句代码像一个方法一样实现一些功能(对单表或多表的增删改查),然后再给这个代码块取一个名字,在用到这个功能的时 ...
- golang中的25个关键字
Go 语言中会使用到的 25 个关键字或保留字: 1. 程序声明 import 导入 package 包 2. 程序实体声明和定义 chan 通道 var 变量声明 const 常量声明 func 用 ...
- AOP操作-AspectJ注解
AOP操作(AspectJ注解) 1,创建类,在类里面定义方法 2,创建增强类(编写增强逻辑) (1)在增强类里面,创建方法,让不同方法代表不同通知类型 3,进行通知的配置 (1)在spring配置文 ...
- python变量垃圾回收机制的入门使用
简介: Python是一款高层次的解释性语言:Python对于初学者来说(易于学习)Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单.学习Python的目的就是为了能够 ...
- HTTP状态码1XX深入理解
前段时间看了<御赐小仵作>,里面有很多细节很有心.看了一些评论都是:终于在剧里能够看到真正在搞事业.发了工资第一时间还钱的正常人了.我印象比较深的是王府才能吃上的葡萄.觉得非常合理.剧里说 ...
- plsql 视图中 为什么使用替代触发器
/* 什么是视图? 视图:数据库对象,存的是一个查询命令:当作一个虚拟的数据表来使用: 应用场景: 简化查询操作:不能直接在视图上进行create,insert,update操作: 创建视图? 需要管 ...
- Pandas 秘籍·翻译完成
协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远. 在线阅读 ApacheCN 面试求职交流群 724187166 ApacheCN 学习资源 ...
- kicad6 封装库的管理
kicad6 封装库的管理 kicad6 的封装编辑器有很多莫名其妙的地方, 让人在第一次用的时候摸不着头脑. 在下面稍微总结一下封装库的操作 1. 封装库的创建 选择 文件 -> 新建库 有两 ...
- AT2346 [ARC070B] No Need
这里介绍几种做法. 解法一 首先可以转化一下题意,\(\forall i\) 如果 \(i\) 不是可有可无的当且仅当不用 \(i\) 能拼出 \([K - a_i, K)\) 中的数. 基于观察可以 ...
- php7.3编译安装 支持微擎2.0
再次整理 //一下配置在命令粘贴时注意句尾加 \ , 在 \ 后不能有空格,不然会自动执行,相当于回车./configure --prefix=/usr/local/php \ --with-co ...