python glob model

來源:互聯網
上載者:User

說明:

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']

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.