2011-07-20 41 views
8

Tôi tìm thấy mã kiểm tra thư mục này trên web và sửa đổi nó một chút, vì vậy nó sẽ in ra các tập tin được thêm vào. Có một phao gửi cho tôi các bài đọc mọi lúc, và sau đó, nhưng đôi khi kết nối bị mất và thay vì một tệp mà nó gửi nhiều tệp. Tôi cần chương trình sắp xếp chúng cho tôi theo ngày tạo. Có cách nào để làm việc này không?Sắp xếp các tập tin theo ngày

import os, time 
path_to_watch = 'c://Users//seplema//Documents//arvuti' 
before = dict([(f, None) for f in os.listdir (path_to_watch)]) 
while 1: 
    after = dict([(f, None) for f in os.listdir (path_to_watch)]) 
    added = [f for f in after if not f in before] 
    if before == after: 
     1==1 
    else: 
     if len(added)==1: 
      print added[0] 
     else: 
      for i in range (0,len(added)): 
       print added[i] 
    time.sleep(10) 
    before = after 
+2

http://stackoverflow.com/questions/168409/how-do-you-get-a-directory-listing-sorted-by-creation-date-in-python – Jacob

Trả lời

23
added.sort(key=lambda x: os.stat(os.path.join(path_to_watch, x)).st_mtime) 

sẽ sắp xếp danh sách added bởi lần sửa đổi cuối cùng của file

Sử dụng st_ctime instaed của st_mtime cho thời gian sáng tạo trên Windows (nó không có nghĩa là trên các nền tảng khác).

+1

'os.path.join' là chữ thập -nền tảng - bạn không cần phải biết dấu phân cách thích hợp là gì. – agf

+2

Hoặc đơn giản là 'add.sort (key = os.path.getmtime)' – Sheljohn

Các vấn đề liên quan