本篇文章介紹Python中的glob模塊的基本使用命贴。glob模塊可以按指定路徑得到所有符合條件的文件的完整路徑均践。
glob的使用體驗(yàn)類似于windows系統(tǒng)中常用的搜索功能滚澜。使用通配符進(jìn)行搜索
簡(jiǎn)介
glob是Python中最簡(jiǎn)單的模塊之一,功能很簡(jiǎn)單,類似于windows中的查找文件谨湘。使用如下通配符進(jìn)行操作:
-
*
星號(hào):表示匹配0個(gè)或多個(gè)字符 -
?
問號(hào):表示匹配單個(gè)字符 -
[]
中括號(hào): 匹配指定的范圍辜限。如[0-9]
glob.glob
>>> import glob
>>> files_path = glob.glob("/tmp/npm*")
>>> type(file_paths)
<type 'list'>
>>> for f in files_path:
... print f
...
/tmp/npm-7838-2b67e940
/tmp/npm-5331-1d55c699
/tmp/npm-6600-69f3511a
/tmp/npm-5116-69883a41
/tmp/npm-5009-8ef54da7
/tmp/npm-7792-fec6155a
/tmp/npm-3252-71dc8e8e
/tmp/npm-4344-50e90470
/tmp/npm-6387-29ec15b1
/tmp/npm-4617-fff22b70
/tmp/npm-4456-b90bb1d8
/tmp/npm-6480-cce3191b
/tmp/npm-4062-60f050ce
/tmp/npm-4712-1ca9017c
/tmp/npm-3770-aec98483
/tmp/npm-3913-8678ef60
/tmp/npm-5235-03941a1e
重點(diǎn)看類型骂际! list !!! 返回的是一個(gè)列表
glob.iglob
iglob用來(lái)獲取一個(gè)可迭代對(duì)象速兔,再對(duì)其遍歷价淌。數(shù)據(jù)量非常大的時(shí)候比較適用。
>>> import glob
>>> files_path = glob.iglob("/tmp/npm*")
>>> type(files_path)
<type 'generator'>
>>> for f in files_path:
... print f
...
/tmp/npm-7838-2b67e940
/tmp/npm-5331-1d55c699
/tmp/npm-6600-69f3511a
/tmp/npm-5116-69883a41
/tmp/npm-5009-8ef54da7
/tmp/npm-7792-fec6155a
/tmp/npm-3252-71dc8e8e
/tmp/npm-4344-50e90470
/tmp/npm-6387-29ec15b1
/tmp/npm-4617-fff22b70
/tmp/npm-4456-b90bb1d8
/tmp/npm-6480-cce3191b
/tmp/npm-4062-60f050ce
/tmp/npm-4712-1ca9017c
/tmp/npm-3770-aec98483
/tmp/npm-3913-8678ef60
/tmp/npm-5235-03941a1e
上面的實(shí)例可以看出使用glob.iglob返回的是一個(gè)可迭代對(duì)象啦鸣,可以節(jié)省內(nèi)存潮饱。