[英]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.