標籤:
#glob檔案名稱模式比對
#作用:使用unix shell規則尋找與一個模式比對檔案名稱
"""
儘管glob api很小,但這個模組很強大,只要程式需要尋找檔案系統中名字與某種模式比對一組檔案,
就可以使用此模組,要建立一個檔案名稱列表,要求其中各個檔案名稱都某個特定的副檔名,首碼或者中間都有某個共同字串。
就可以使用glob而不是編寫定製代碼來掃描目錄內容。
glob模式與正則re模式使用Regex並不相同,實際上。glob模式遵循標準unix路徑擴充規則,只使用
幾個特殊字元來實現2個不同的萬用字元和字元區間,模式規則要應用於檔案名稱中段(在路徑分隔字元/處截止)。
模式中路徑可以是相對/絕對路徑,shell變數名波浪線(~)都不會以擴充!!!!!
"""
#樣本1
#測試在path/下面的檔案
#名稱如下path/a/a.txt b.txt c.txt d.txt /b/a.txt(只給個樣子)
import glob
#如果未有此檔案,請自己建立
path=‘path/a/*.txt‘
print glob.glob(path)
#萬用字元*:可以匹配一個檔案名稱段的0個或者多個,比如dir/*.*,如上面
#要列出子目錄檔案,必須在子目錄包含在模式中
print ‘path *:‘
for name in glob.glob(pathname=path):
print ‘\t‘,name
#匹配單字字串
print ‘?‘
path=‘path/a/?.txt‘
for name in glob.glob(pathname=path):
print ‘\t‘,name
#匹配區間字串(如果區間在[a~z]之間,可以匹配多個中的一個字串
print ‘[a-z]‘
for path1 in glob.glob(‘path/a/*[a-z0-9A-Z].txt‘):
print path1
#glob官方標準地址:https://docs.python.org/2.7/library/glob.html?highlight=glob#module-glob
#外接連(patten matching notation):http://pubs.opengroup.org/onlinepubs/000095399/utilities/xcu_chap02.html#tag_02_13
#其他:open grop的shell命令語言規範中對檔案名稱模式比對的解釋
#fnmatch請百度或者Google
python glob標準庫基礎學習