Không có dấu vết thực tế của "thời gian tạo ra" trong hầu hết các hệ điều hành/filesystems: những gì bạn có được càng mtime
là thời gian một tập tin hoặc thư mục đã được sửa đổi (ví dụ như tạo một tệp trong thư mục cập nhật thời gian của thư mục) - và từ ctime
, khi được cung cấp, thời gian thay đổi inode mới nhất (s o nó sẽ được cập nhật bằng cách tạo hoặc loại bỏ một thư mục con).
Giả sử bạn ổn với ví dụ: "Sửa đổi lần cuối" (và việc bạn sử dụng "tạo ra" trong câu hỏi chỉ là một lỗi), bạn có thể tìm thấy (ví dụ như) tất cả các thư mục con của thư mục hiện:
import os
all_subdirs = [d for d in os.listdir('.') if os.path.isdir(d)]
và nhận được một với mtime mới nhất (bằng Python 2.5 hoặc tốt hơn):
latest_subdir = max(all_subdirs, key=os.path.getmtime)
Nếu bạn cần để hoạt động ở nơi khác hơn so với thư mục hiện hành, nó không phải là rất khác nhau, ví dụ:
def all_subdirs_of(b='.'):
result = []
for d in os.listdir(b):
bd = os.path.join(b, d)
if os.path.isdir(bd): result.append(bd)
return result
phân latest_subdir
không n ot thay đổi được đưa ra, như all_subdirs
, bất kỳ danh sách đường dẫn nào (có thể là đường dẫn của các thư mục hoặc tệp, mà cuộc gọi max
nhận được lần sửa đổi mới nhất).
Nguồn
2010-01-06 17:06:24
Cảm ơn Alex, rằng hoạt động hoàn hảo – chrissygormley