打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Glob 语法及解析

目录

  • 1. glob 简介
  • 2. glob 语法
  • 3. .gitignore
  • 4. Python glob

1 glob 简介

glob 是用于匹配符合指定模式的文件集合的一种语言, 类似于正则表达式, 但更加简单。

Update-09-22: 前两天阮一峰老师更新了他的博客,内容讲的就是 Glob, 强烈推荐。

2 glob 语法

glob 的语法很简单:

通配符描述例子匹配不匹配
*匹配任意数量的任何字符,包括无Law*Law, Laws, LawyerGrokLaw, La, aw
?匹配任何 单个 字符?atCat, cat, Bat, batat
[abc]匹配括号中给出的一个字符[CB]atCat, Batcat, bat
[a-z]匹配括号中给出的范围中的一个字符Letter[0-9]Letter0, Letter1Letter9Letters, Letter, Letter10
[!abc]匹配括号中未给出的一个字符[!C]atBat, bat, catCat
[!a-z]匹配不在括号内给定范围内的一个字符Letter[!3-5]Letter1Letter3Letter5, Letterxx

Update-2018-07-18: 使用 **/* 可以匹配当前目录树中的所有文件, 通过 **/*.py 匹配所有后缀名为 .py 的文件

Update-2018-09-20: 好像只是 Pythonpathlib.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('*/')  # 返回匹配所有目录的迭代器
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
git忽略文件方法
Python3标准库:glob文件名模式匹配
文件处理的一些最佳实践
C
python基础二
教你如何编写自己的bat文件!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服