源代码: Lib/glob.py

glob 模块可根据 Unix 终端所用规则找出所有匹配特定模式的路径名,但会按不确定的顺序返回结果。 波浪号扩展不会生效,但 *, ? 以及表示为 [] 的字符范围将被正确地匹配。 这是通过配合使用 os.scandir() 和 fnmatch.fnmatch() 函数来实现的,而不是通过实际发起调用子终端。 请注意不同于 fnmatch.fnmatch(),glob 会将以点号 (.) 开头的文件名作为特殊情况来处理。 (对于波浪号和终端变量扩展,请使用 os.path.expanduser() 和 os.path.expandvars()。)

对于字面值匹配,请将原字符用方括号括起来。 例如,'[?]' 将匹配字符 '?'。

  • glob.glob(pathname, *, recursive=False)

返回匹配 pathname 的可能为空的路径名列表,路径名必须为包含一个路径描述的字符串。 pathname 可以是绝对路径 (如 /usr/src/Python-1.5/Makefile) 或相对路径 (如 ../../Tools/*/*.gif),并且可包含 shell 风格的通配符。 无效的符号链接可以包含在结果中 (与在 shell 中一样)。

If recursive is true, the pattern “**” will match any files and zero or more directories and subdirectories. If the pattern is followed by an os.sep, only directories and subdirectories match.

注解
在一个较大的目录树中使用 “**” 模式可能会消耗非常多的时间。

在 3.5 版更改: 支持使用 “**” 的递归 glob.

  • glob.iglob(pathname, *, recursive=False)

返回一个 iterator,它会产生与 glob() 相同的结果,但不会实际地同时保存它们。

  • glob.escape(pathname)

转义所有特殊字符 ('?', '*' 和 '[')。 这适用于当你想要匹配可能带有特殊字符的任意字符串字面值的情况。 在 drive/UNC 共享点中的特殊字符不会被转义,例如在 Windows 上 escape('//?/c:/Quo vadis?.txt') 将返回 '//?/c:/Quo vadis[?].txt'。

3.4 新版功能.

例如,考虑一个包含以下内容的目录:文件 1.gif, 2.txt, card.gif 以及一个子目录 sub 其中只包含一个文件 3.txt. glob() 将产生如下结果。 请注意路径的任何开头部分都将被保留。

>>> 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('.c*')
['.card.gif']

unix查找的字符串包含特殊字符_python3从零学习-5.4.7、Unix风格路径名模式扩展glob...相关推荐

  1. csv 字符串_python3从零学习-5.5.1、CSV 文件读写

    源代码: Lib/csv.py 模块内容 csv 模块定义了以下函数: csv.reader(csvfile, dialect='excel', **fmtparams) 返回一个 reader 对象 ...

  2. 向一个无法连接的网络尝试了一个套接字操作_python3从零学习-5.8.1、socket—底层网络接口...

    源代码: Lib/socket.py 这个模块提供了访问BSD*套接字*的接口.在所有现代Unix系统.Windows.macOS和其他一些平台上可用. 这个Python接口是用Python的面向对象 ...

  3. python普通类实现接口_python3从零学习-5.8.1、socket—底层网络接口

    源代码: Lib/socket.py 这个模块提供了访问BSD*套接字*的接口.在所有现代Unix系统.Windows.macOS和其他一些平台上可用. 这个Python接口是用Python的面向对象 ...

  4. python3字典升序排序_python3从零学习-4.2、内置数据类型

    内置标准类型: * Boolean(布尔) * Number(数字) * String(字符串) * List(列表) * Tuple(元组) * Sets(集合) * Dictionary(字典) ...

  5. python 配置文件解析代码_python3从零学习-5.5.2、configparser — 配置文件解析器

    源代码: Lib/configparser.py 此模块提供了它实现一种基本配置语言 ConfigParser 类,这种语言所提供的结构与 Microsoft Windows INI 文件的类似. 你 ...

  6. python3 数组大小_python3从零学习-5.1.8、高效的数值数组array

    此模块定义了一种对象类型,可以紧凑地表示基本类型值的数组:字符.整数.浮点数等. 数组属于序列类型,其行为与列表非常相似,不同之处在于其中存储的对象类型是受限的. 类型在对象创建时使用单个字符的类型码 ...

  7. unity 检测文本有没有自动换行_python3从零学习-5.1.5、文本自动换行与填充模块textwrap...

    TextWrapper 模块提供了一些快捷函数,以及可以完成所有工作的类 TextWrapper 如果你只是要对一两个文本字符串进行自动换行或填充,快捷函数应该就够用了:否则的话,你应该使用 Text ...

  8. telnet 超时_python3从零学习-5.10.10、telnetlib—Telnet 客户端

    源代码: Lib/telnetlib.py telnetlib模块提供了实现Telnet协议的Telnet类.有关协议的详细信息,请参阅RFC 854.此外,它还为协议字符(参见下面)和telnet选 ...

  9. 图片二进制编码_python3从零学习-5.7.4、quopri编码与解码经过MIME转码打印数据

    源代码: Lib/quopri.py 此模块会执行转换后可打印的传输编码与解码. 转换后可打印的编码格式被设计用于只包含相对较少的不可打印字符的数据:如果存在大量这样的字符,通过 base64 模块所 ...

最新文章

  1. Andriod anim rotate中的属性介绍
  2. 网工协议基础(1) OSI七层模型
  3. python画画bup_Python中的高效Vector / Point类
  4. Linux命令行配置静态IP地址
  5. leetcode python3 简单题203. Remove Linked List Elements
  6. 自定义django表单
  7. 《软件需求工程》 读书笔记之二
  8. 疯狂Java讲义笔记汇总
  9. linux系统下文件误删除该如何恢复?
  10. 城市按首字母分类,各城市对应的县和区
  11. 项目开发过程中业务流程图的绘制
  12. 计算机系统盘怎么扩充,扩大c盘空间,小编教你如何扩大C盘空间
  13. linux qt 找不到 lgl,Linux Qt cannot find -lGL错误完美解决方案(亲测有效)
  14. DDSM数据库在windows环境下的转换
  15. vant的安装和引入
  16. 如何修改Win10的Windows Terminal的背景(带图文)
  17. 什么是RBER(残余误比特率)FER(帧删除率)BER(误比特率)
  18. chmod的用法|SHELL积累
  19. python画风向杆_从u、v分量绘制风速和风向图
  20. 数据案例-蓝米手机的精准广告营销

热门文章

  1. SMARTFORMS打印后转存为PDF文件相关问题
  2. SAP作业类型应用简介
  3. 设置SAP登录后的背景图片(很有意思)
  4. 抑制恐慌,互联网能够做些什么?
  5. 为什么java单精度要f_为什么快速反平方根如此奇怪和慢Java?
  6. python继承编程教程_Python实现通过继承覆盖方法示例
  7. 关于解决安装pwndbg问题sys.stderr.write(f“ERROR: {exc}“) /usr/bin/python3.5: No module named ensurepip
  8. BUUCTF(pwn)[HarekazeCTF2019]baby_rop
  9. 联想台式计算机设置双层密码,联想电脑怎样设密码?联想电脑设置密码方法步骤【图文】...
  10. 【Python教程】python函数后面有多个括号的作用