glob是python标准库中用来处理文件和文件夹的模块,其实该模块的函数很少,有以下几个:
1. glob.glob(pathname, *, recursive=False)
用来查找符合特定规则的文件名,提供的特征符号为*
, ?
和 []
.
- 输入为路径
- 输出为list类型
举例:
当前文件夹列表为:
.
├── 1.gif
├── 2.txt
├── card.gif
├── sub
│ └── 3.txt
└── test.py
1 directory, 5 files
import glob
# 当前文件夹下文件名在0-9之间,不限文件类型
print(glob.glob('./[0-9].*'))
# 所有.gif类型的文件
print(glob.glob('*.gif'))
# 名字长度为1的,且类型为.gif的文件
print(glob.glob('?.gif'))
# **代表..
print(glob.glob('**/*.txt', recursive=True))
print(glob.glob('./**/', recursive=True))
# 输出
# ['./1.gif', './2.txt']
# ['1.gif', 'card.gif']
# ['1.gif']
# ['2.txt', 'sub/3.txt']
# ['./', './sub/']
2. glob.iglob(pathname, *, recursive=False)
与glob不同的是, iglob返回的是迭代器,
举例:
import glob
path = glob.iglob('./[0-9].*')
print(path)
for i in path:
print(i)
# 输出为
# <generator object _iglob at 0x7facf9f5b990>
# ./1.gif
# ./2.txt
3. glob.escape(pathname)
这会将特殊字符*
, ?
和 []
转义,举例:
import glob
print(glob.escape('./[0-9].*'))
# ./[[]0-9].[*]