說明:
1、glob是python自己帶的一個檔案操作相關模組,用它可以尋找符合自己目的的檔案,就類似於Windows下的檔案搜尋,支援萬用字元操作,*,?,[]這三個萬用字元,*代表0個或多個字元,?代表一個字元,[]匹配指定範圍內的字元,如[0-9]匹配數字。
它的主要方法就是glob,該方法返回所有匹配的檔案路徑列表,該方法需要一個參數用來指定匹配的路徑字串(本字串可以為絕對路徑也可以為相對路徑),其返回的檔案名稱只包括目前的目錄裡的檔案名稱,不包括子檔案夾裡的檔案。
比如:
glob.glob(r'c:\*.txt')
我這裡就是獲得C盤下的所有txt檔案
glob.glob(r'E:\pic\*\*.jpg')
獲得指定目錄下的所有jpg檔案
使用相對路徑:
glob.glob(r'../*.py')
2、iglob方法:
擷取一個可編曆對象,使用它可以逐個擷取匹配的檔案路徑名。與glob.glob()的區別是:glob.glob同時擷取所有的匹配路徑,而 glob.iglob一次只擷取一個匹配路徑。這有點類似於.NET中操作資料庫用到的DataSet與DataReader。下面是一個簡單的例子:
#父目錄中的.py檔案
f = glob.iglob(r'../*.py')
print f #<generator object iglob at 0x00B9FF80>
for py in f:
print py
-
官方說明:
-
glob.glob(
pathname)
-
Return a possibly-empty list of path names that match
pathname, which must be a string containing a path specification.
pathname can be either absolute (like /usr/src/Python-1.5/Makefile) or relative (like http://www.cnblogs.com/Tools/*/*.gif), and can contain shell-style wildcards. Broken symlinks are included in the results (as in the shell).
-
glob.iglob(
pathname)
-
Return an iterator which yields the same values as glob() without actually storing them all simultaneously.
New in version 2.5.
For example, consider a directory containing only the following files: 1.gif, 2.txt, andcard.gif. glob() will produce the following results. Notice how any leading components of the path are preserved.
>>> import glob>>> glob.glob('./[0-9].*')['./1.gif', './2.txt']>>> glob.glob('*.gif')['1.gif', 'card.gif']>>> glob.glob('?.gif')['1.gif']