簡體   English   中英

如何實現glob.glob

[英]how to implement glob.glob

目前,我的os.walk代碼列表包含指定目錄下所有目錄中的所有文件。

top = /home/bludiescript/tv-shows
        for dirpath, dirnames, filenames in os.walk(top):
               for filename in filenames:
                  print os.path.join([dirname, filename])

所以我怎么能添加

glob.glob(search)
search = self.search.get_text

搜索我在gtk.Entry中鍵入的模式

還是這與我當前的代碼不兼容

你不想要glob ,想要fnmatch

for dirpath, dirnames, filenames in os.walk(top):
    for filename in filenames:
        if fnmatch.fnmatch(filename, my_pattern):
            print os.path.join([dirname, filename])

glob完成了os.walk已經完成的部分工作:檢查磁盤以查找文件。 fnmatch是一個純字符串操作:此文件名是否與此模式匹配?

您不想要glob.glob 它會根據您已經檢索到的目錄中的名稱進行檢查。 而是使用fnmatch.fnmatch將您的模式與從os.walk獲得的路徑名列表進行匹配(可能在添加路徑之前)。

for filename in filenames:
    if fnmatch.fnmatch(filename, search):
        print os.path.join([dirname, filename])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM