python 里面的glob模块是怎么用的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 里面的glob模块是怎么用的相关的知识,希望对你有一定的参考价值。

新手刚学这一块内容,不是很懂
这个模块可以用来统计每个类型物品的统计吗
最好可以具体举个例子好懂一些的,

glob是python自己带的一个文件操作相关模块,用它可以查找符合自己目的的文件,就类似于Windows下的文件搜索,支持通配符操作,*,?,[]这三个通配符,*代表0个或多个字符,?代表一个字符,[]匹配指定范围内的字符,如[0-9]匹配数字。
它的主要方法就是glob,该方法返回所有匹配的文件路径列表,该方法需要一个参数用来指定匹配的路径字符串(本字符串可以为绝对路径也可以为相对路径),其返回的文件名只包括当前目录里的文件名,不包括子文件夹里的文件。
比如:
glob.glob(r'c:\*.txt')
我这里就是获得C盘下的所有txt文件
glob.glob(r'E:\pic\*\*.jpg')
获得指定目录下的所有jpg文件
使用相对路径:
glob.glob(r'../*.py')
参考技术A 不知道楼主有没有Linux\Unix的使用经验

帮助文档里写的很清楚:
glob — Unix
style pathname pattern expansion

用来匹配文件路径名的
例如:
>>> import glob
>>> glob.glob('*.mp3') # 当前目录下所有mp3文件,* 匹配任意多字符
['1.mp3', 'card.mp3']
>>> glob.glob('?.mp3') # 当前目录下文件名为1个字符的mp3文件,?匹配单个字符
['1.mp3']

python中的glob模块

简介

glob() 函数返回匹配指定模式的文件名或目录。 该函数返回一个包含有匹配文件 / 目录的列表。如果出错返回 False。

方法介绍

.glob(pathname, *, recursive=False)

"""Return a list of paths matching a pathname pattern.

    The pattern may contain simple shell-style wildcards a la
    fnmatch. However, unlike fnmatch, filenames starting with a
    dot are special cases that are not matched by ‘*‘ and ‘?‘
    patterns.

    If recursive is true, the pattern ‘**‘ will match any files and
    zero or more directories and subdirectories.
"""
# recursive默认为False,表示只返回该路径下的目录及文件列表;如果为True,则路径后应该跟**,可递归返回该路径下的所有目录及目录下的文件,否则效果跟False一样

glob.glob(r"C:\Users\Desktop\FinanicalBook\.*")   # 返回所有的隐藏目录及文件列表
glob.glob(r"C:\Users\Desktop\FinanicalBook\*")    # 返回FinanicalBook目录下的所有目录及文件列表
glob.glob(r"C:\Users\Desktop\FinanicalBook\a*")   # 返回以a开头的目录及文件列表
glob.glob(r"C:\Users\Desktop\FinanicalBook\*q")   # 返回以q结尾的目录及文件列表
glob.glob(r"C:\Users\Desktop\FinanicalBook\**", recursive=True) # 递归匹配任何文件以及零个或多个目录和子目录

.iglob(pathname, *, recursive=False)

用法跟glob()一样,只不过该函数的返回值是一个generator(生成器)

.escape(pathname)

"""
Escape all special characters.
Escaping is done by wrapping any of "*?[" between square brackets
"""
# 转义所有特殊字符
# 转义是通过在方括号之间包装“*?[”来完成的

# 例:
res = glob.escape(r"C:\Users\Desktop\FinanicalBook\*..\?\[A-Z^$|\res")
# C:\Users\Desktop\FinanicalBook\[*]..\[?]\[[]A-Z^$|\res

  

 

以上是关于python 里面的glob模块是怎么用的的主要内容,如果未能解决你的问题,请参考以下文章

python glob模块

Python之glob模块进行文件匹配及遍历

python里面的xlrd模块详解

Python glob 模块

python文件操作glob_os_等对比

python中的glob模块