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].[*]