2017-06-21 174 views
0

我正在編寫腳本來檢查文件並打印出zip文件及其創建日期。我的程序對少於5MB的數據有效,但如果我在超過15MB的數據上運行它,生成輸出需要幾個小時。以下是我的代碼示例。我怎樣才能優化我的代碼,使其運行速度更快?需要很長時間才能運行的python腳本

import os, argparse 
from datetime import datetime 


#Returns a list of directories of all zip files. 
def findZip_Dir_list(cwd): 
    userList = [] 
    for (dirname, dirs, files) in os.walk(cwd): 
     for filename in files: 
      if filename.endswith('.zip'): 
       fileDir = os.path.join(dirname, filename) 
       t = os.path.getmtime(fileDir) 
       userList.append(os.path.join(fileDir, str(t))) 
    return userList 

cwd = os.getcwd() 
testList = findZip_Dir_list(cwd) 

print(tesList) 
+0

也許https://pypi.python.org/pypi/glob2? – Kevin

回答

0

使用glob2

import os, glob2 

# Returns a list of directories of all zip files. 
def findZip_Dir_list(cwd): 
    userList = [] 
    all_zip_files = glob2.glob(os.path.join(cwd, '**/*.zip')) 
    for file in all_zip_files: 
     t = os.path.getmtime(file) 
     userList.append(os.path.join(file, str(t))) 
    return userList 


cwd = os.getcwd() 
testList = findZip_Dir_list(cwd) 

print(testList) 
+0

是python 2.7中的glob2嗎?我試圖導入它,但它說有一個名爲glob2的模塊。此外,這是否減少了它運行所花費的時間? – LearningEveryday

+0

你必須安裝它,但是這是2.7。對我來說似乎很好,但我沒有檢查你的方法 – Kevin

相關問題