您可以从 os.stat() 中一次性获取最后修改日期和文件大小。
文件类型更复杂,因为至少有两种不同的方法可以从操作系统获取人类可读的描述。为此,您需要的库是 pyobjc,它将允许您 a) 查询 NSWorkspace 和 LaunchServices 以获取与 UTI 相关的数据,或 b) 为单个文件创建 NSURL 并查询它们的资源类型。我相信 b) 更接近 Finder 所做的。
这是一个说明这两种方法的示例:
from AppKit import NSWorkspace
from LaunchServices import UTTypeCopyDescription
from Cocoa import NSURL, NSURLLocalizedTypeDescriptionKey
from datetime import datetime
import os
for f in os.listdir("."):
uti = NSWorkspace.sharedWorkspace().typeOfFile_error_(f, None)[0]
desc = UTTypeCopyDescription(uti)
url = NSURL.fileURLWithPath_(f)
urlType = url.getResourceValue_forKey_error_(None, NSURLLocalizedTypeDescriptionKey, None)[1]
sr = os.stat(f)
size = sr.st_size
date = datetime.fromtimestamp(sr.st_mtime).strftime('%Y-%m-%d %H:%M:%S')
print("%-20s size=%s modified=%s uti=%s desc=%s url=%s" % (f, size, date, uti, desc, urlType))