我有一個目錄有一堆子目錄,每個子目錄有很多csv文件,但我只對某些csv文件感興趣。所以我寫了下面的Python方法,但我無法捕捉到的文件名,如果我不* .csv文件它會發現所有的文件,但我不想把所有的文件中讀取:python fnmatch無法找到文件
def gatherStats(template_file, csv_file):
for lang in getLanguageCodes(csv_file):
lang_dir = os.path.join(template_file, lang)
try:
for file in os.listdir(lang_dir):
if fnmatch.fnmatch(file, '*-*-template-users-data.csv'):
t_file = open(file, 'rb').read()
reader = csv.reader()
for row in reader:
print row
else:
print "didn't find the file"
except Exception, e:
logging.exception(e)
我在這裏做錯了什麼?這是一個正則表達式問題嗎?我們可以用fnmath使用正則表達式嗎?
你能分享一些應該匹配的文件名的例子嗎?我無法重現您的問題。 – 2013-03-14 17:58:20
我建議的一個改變是將你的'else:'語句改爲:'print'文件%s不匹配「%file',如果你的打印語句不打印,那麼你可能試圖列出內容錯誤的目錄。 – 2013-03-14 18:13:49