一、檢索當前目錄下所有文件、文件夾
from glob import glob
glob('./*')
Output: ['./0a.wav', './aaa', './1b.wav', './1a.wav', './0b.wav'] #返回一個list
二、檢索當前目錄下指定后綴名文件
假設我們需要獲取當前文件夾下所有后綴名為".wav"的文件,
from glob import glob
glob('./*.wav')
Output: ['./0a.wav', './1b.wav', './1a.wav', './0b.wav'] #返回一個包含".wav"文件路徑的list
二、檢索當前目錄下包含指定字符文件
假設我們需要獲得所有包含"a"字符的".wav"文件,
from glob import glob
glob('./*a*.wav')
Output: ['./0a.wav', './1a.wav'] #返回一個包含".wav"文件路徑的list
補充:Python 中的glob模塊使用筆記(用它來遍歷文件夾、文件真的很方便)
glob模塊簡介
glob是python自己帶的一個文件操作相關模塊,用它可以查找符合自己目的的文件,就類似于Windows下的文件搜索,支持通配符操作。
glob中支持的通配符有三種:
‘*' 匹配0個或多個字符
‘?' 僅匹配一個字符
‘[]' 匹配指定范圍內(nèi)的字符,如[0-9]匹配數(shù)字
用圖片中的文件夾作為例子進行演示
一、glob.glob的使用:
該方法返回所有匹配的文件路徑列表。
該方法需要一個參數(shù)用來指定要匹配的文件路徑(字符串類型)絕對路徑、相對路徑。
1.匹配某指定路徑下后綴為.exe的文件(絕對路徑)
In:
from glob import glob
file = glob(r'D:\masm\*.EXE')
print(type(file))
print(file)
Out:
class 'list'>
['D:\\masm\\CREF.EXE', 'D:\\masm\\debug.exe',
'D:\\masm\\DEBUG32.EXE', 'D:\\masm\\ERROUT.EXE',
'D:\\masm\\EXEMOD.EXE', 'D:\\masm\\EXEPACK.EXE',
'D:\\masm\\LIB.EXE', 'D:\\masm\\LINK.EXE',
'D:\\masm\\MASM.EXE', 'D:\\masm\\SETENV.EXE',
'D:\\masm\\TEST2.EXE', 'D:\\masm\\TEST3.EXE',
'D:\\masm\\TEST4.EXE', 'D:\\masm\\TEST5.EXE',
'D:\\masm\\TEST6.EXE']
2.匹配某指定路徑下的所有文件(絕對路徑)
In:
from glob import glob
file = glob(r'D:\masm\*\*')
print(type(file))
print(file)
Out:
class 'list'>
['D:\\masm\\work\\hello.asm', 'D:\\masm\\work\\HELLO.OBJ',
'D:\\masm\\work\\test1.asm', 'D:\\masm\\work\\TEST1.OBJ',
'D:\\masm\\work\\test2.asm', 'D:\\masm\\work\\TEST2.OBJ',
'D:\\masm\\work\\test3.asm', 'D:\\masm\\work\\TEST3.OBJ',
'D:\\masm\\work\\test4.asm', 'D:\\masm\\work\\TEST4.OBJ',
'D:\\masm\\work\\two']
3.使用相對路徑來進行匹配
'.' 指代當前目錄
'. . ' 指代當前目錄的上一級目錄
In:
from glob import glob
file = glob(r'..\*')
print(type(file))
print(file)
Out:
class 'list'>
['..\\12306', '..\\Auto connection school network', '..\\cache',
'..\\class', '..\\exercise_1.py', '..\\exercise_2-2.py',
'..\\exercise_2-3.py', '..\\exercise_2.py', '..\\regular',
'..\\taobao', '..\\test.py', '..\\testglob', '..\\UDPClient']
二、glob.iglob的使用
獲取一個生成器( generator)對象,使用它可以逐個獲取匹配的文件路徑名。與glob.glob()的區(qū)別是:glob.glob同時獲取所有的匹配路徑,而 glob.iglob一次只獲取一個匹配路徑。
In:
from glob import iglob
file = iglob(r'..\*.py')
print(type(file))
print(file)
n=0
for i in file:
n=n+1
print(str(n),i)
Out:
class 'generator'>
generator object _iglob at 0x000001AEBE4D3B10>
1 ..\exercise_1.py
2 ..\exercise_2-2.py
3 ..\exercise_2-3.py
4 ..\exercise_2.py
5 ..\test.py
通過示例中的for循環(huán)可以看到,生成器對象會依次給出要匹配路徑下的文件。
您可能感興趣的文章:- python基礎之文件處理知識總結
- Python關于OS文件目錄處理的實例分享
- python引入其他文件夾下的py文件具體方法
- 解決python中os.system調(diào)用exe文件的問題
- 教你用Python代碼實現(xiàn)合并excel文件
- python3 hdf5文件 遍歷代碼
- Python基礎之元組與文件知識總結
- python提取word文件中的所有圖片
- python可視化hdf5文件的操作
- Python 如何讀取.txt,.md等文本文件
- 教你利用Python破解ZIP或RAR文件密碼
- Python文件基本操作實用指南
- Python爬蟲之m3u8文件里提取小視頻的正確姿勢
- python 如何把classification_report輸出到csv文件
- 用python刪除文件夾中的重復圖片(圖片去重)
- 將Python代碼打包成.exe可執(zhí)行文件的完整步驟
- Python文件名的匹配之clob庫
- python基礎學習之組織文件