python標準庫之glob介紹
glob 文件名模式匹配,不用遍歷整個目錄判斷每個文件是不是符合。
1、通配符
星號(*)匹配零個或多個字符
import glob
for name in glob.glob('dir/*'):
print (name)
dir/file.txt
dir/file1.txt
dir/file2.txt
dir/filea.txt
dir/fileb.txt
dir/subdir
列出子目錄中的文件,必須在模式中包括子目錄名:
import glob
#用子目錄查詢文件
print ('Named explicitly:')
for name in glob.glob('dir/subdir/*'):
print ('\t', name)
#用通配符* 代替子目錄名
print ('Named with wildcard:')
for name in glob.glob('dir/*/*'):
print ('\t', name)
Named explicitly:
dir/subdir/subfile.txt
Named with wildcard:
dir/subdir/subfile.txt
2、單個字符通配符
用問號(?)匹配任何單個的字符。
import glob
for name in glob.glob('dir/file?.txt'):
print (name)
dir/file1.txt
dir/file2.txt
dir/filea.txt
dir/fileb.txt
3、字符範圍
當需要匹配一個特定的字符,可以使用一個範圍
import glob
for name in glob.glob('dir/*[0-9].*'):
print (name)
dir/file1.txt
dir/file2.txt