2016-02-19 48 views
0

我有一個文件夾有5個子文件夾5年(1956,1976,1987,2001,2005)。有沒有一種方法可以使用walk功能來搜索5個子文件夾的每個文件名的一部分,即Irrigated_Parcels.txt而不是Irrigated_Parcels_1956.txt?我從下面的腳本開始。使用散步函數在Python中查找文件名的一部分

import os 

def find(name, path): 
    for root, dirs, files in os.walk(path): 
     if name in files: 
      return os.path.join(root, name) 

find('*.txt', '/path/to/dir') 

回答

0

你可以使用「水珠」

下面將返回的路徑列表中的每個子文件夾

import glob 
glob.glob('/path/to/dir/*/*.txt') 

匹配「* .TXT」的所有文件也關於「找到'腳本你已經開始在你的問題:請注意,一個函數只能返回一次,所以腳本將始終只返回匹配的第一個路徑。

編輯:對於完全解決所提出的問題

glob.glob('/path/to/dir/*/Irrigated_Parcels.txt') 

應該做的伎倆。

+0

我正在尋找的東西,不僅返回一個名稱中有.txt的文件,還會在文件名中查找標題'Irrigated_Parcels'。除了'Irrigated_Parcels'之外,其他一些文件還會有其他描述,例如'Irrigated_Parcels_Points',我不希望它們返回結果 – brgionta

相關問題