在pyGtk中使用过滤器

时间:2017-06-07 18:45:02

标签: python-2.7 pygtk

我正在编写一个脚本来显示可以选择某些文件的GUI。我正在使用pyGtk,截至目前,我的代码可以显示所有的zip文件。我想添加另一个过滤器,只显示具有最新日期的zip文件。

下面是我的功能,只显示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文件?

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

而不是使用filter2.add_pattern("*.zip")使用filter2.add_pattern("filename"),其中filename是具有最新日期的文件的名称。您可以编写一个函数来返回包含最新zip文件的文件名的列表。