2017-06-07 34 views
0

我正在編寫一個腳本來顯示可以選擇某些文件的GUI。我正在使用pyGtk,截至目前,我的代碼可以顯示所有的zip文件。我想添加另一個篩選器以僅顯示帶有最新日期的zip文件。在pyGtk中使用過濾器

下面是我的功能,只顯示zip文件。

def open_file(self, w, data=None): 
    d = gtk.FileChooserDialog(title="Select a file", 
           parent=self.window, 
           action=gtk.FILE_CHOOSER_ACTION_OPEN, 
           buttons=("OK",True,"Cancel",False) 
           ) 
    #create filters 
    filter1 = gtk.FileFilter() 
    filter1.set_name("All files") 
    filter1.add_pattern("*") 
    d.add_filter(filter1) 
    filter2 = gtk.FileFilter() 
    filter2.set_name("Zip files") 
    filter2.add_pattern("*.zip") 
    d.add_filter(filter2) 


    ok = d.run() 
    if ok: 
     import os 
     fullname = d.get_filename() 
     dirname, fname = os.path.split(fullname) 
     size = "%d bytes" % os.path.getsize(fullname) 
     text = self.label_template % (fname, dirname, size) 
    else: 
     text = self.label_template % ("","","") 
    self.label.set_label(text) 
    d.destroy() 

有沒有一種方法可以選擇一個過濾器,只顯示每個文件夾中的最新zip文件?

在此先感謝您的幫助!

回答

0

而不是使用filter2.add_pattern("*.zip")使用filter2.add_pattern("filename")其中filename是具有最新日期的文件的名稱。你可以編寫一個函數來返回一個帶有最新壓縮文件的文件名的列表。