Mit folgendem Code habe ich immer die gleiche Größe und mtime:Python os.stat Rückkehr immer die gleiche mtime/size
# -*- coding: utf-8 -*-
import gtk
import pygtk
import os
class LocalFileTreeView(gtk.TreeView):
def __init__(self, model = None):
super(LocalFileTreeView, self).__init__(model)
self.model = gtk.TreeStore(gtk.gdk.Pixbuf, str, str, str)
self.create_columns()
self.set_model_data('/home/foo/Downloads/')
self.set_model(self.model)
def create_columns(self):
self.icon_cell_renderer = gtk.CellRendererPixbuf()
self.filename_cell_renderer = gtk.CellRendererText()
self.size_cell_renderer = gtk.CellRendererText()
self.last_modified_cell_renderer = gtk.CellRendererText()
self.icon_column = gtk.TreeViewColumn(None, self.icon_cell_renderer, pixbuf = 0)
self.filename_column = gtk.TreeViewColumn('filename', self.filename_cell_renderer, text = 1)
self.size_column = gtk.TreeViewColumn('size', self.size_cell_renderer, text = 2)
self.last_modified_column = gtk.TreeViewColumn('last modified', self.last_modified_cell_renderer, text = 3)
self.append_column(self.icon_column)
self.append_column(self.filename_column)
self.append_column(self.size_column)
self.append_column(self.last_modified_column)
def set_model_data(self, path, iter = None):
try:
local_files = os.listdir(path)
local_files.sort()
except OSError:
local_files = []
for local_file in local_files:
complete_path = path + local_file
stat = os.stat(path)
if os.path.isdir(complete_path):
dir_iter = self.model.append(iter, [self.render_icon(gtk.STOCK_DIRECTORY, gtk.ICON_SIZE_SMALL_TOOLBAR), local_file, None, str(stat.st_mtime)])
self.set_model_data(complete_path + '/', dir_iter)
else:
self.model.append(iter, [self.render_icon(gtk.STOCK_FILE, gtk.ICON_SIZE_SMALL_TOOLBAR), local_file, str(stat.st_size), str(stat.st_mtime)])
class LocalFileTreeViewTest:
def __init__(self):
self.window = gtk.Window()
self.local_file_treeview = LocalFileTreeView()
self.scrolled_window = gtk.ScrolledWindow()
self.window.set_title('LocalFileTreeView Test')
self.window.connect('destroy', gtk.main_quit)
self.scrolled_window.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
self.scrolled_window.add(self.local_file_treeview)
self.window.add(self.scrolled_window)
self.local_file_treeview.show()
self.scrolled_window.show()
self.window.show()
if __name__ == '__main__':
local_file_treeview_test = LocalFileTreeViewTest()
gtk.main()
ich 4096 immer als Größe und 1293898432,0 als mtime (wie kann ich Format, das ?) Wie könnte ich die richtigen Werte bekommen?
Vielen Dank.
Das nächste Mal, versuchen Sie den Code zum Teil Refactoring, dass Sie Schwierigkeiten ist zu geben und geben nur, dass ein Teil davon. –
ok, vielen Dank! – thom