这是一个挑战,也是一个问题:
我有一个文件夹的数据文件。我想要以下信息列表的列表:Filename: Created: Last modified:
Information =
[
[datafile1, Mon Mar 04 10:45:24 2013, Tue Mar 05 12:05:09 2013],
[datafile2, Mon Mar 04 11:23:02 2013, Tue Apr 09 10:57:55 2013],
[datafile2.1, Mon Mar 04 11:37:21 2013, Tue Apr 02 15:35:58 2013],
[datafile3, Mon Mar 04 15:36:13 2013, Thu Apr 18 15:03:25 2013],
[datafile4, Mon Mar 11 09:20:08 2013, Mon May 13 16:30:59 2013]
]
我可以自己排序后,我有了信息。谁能写这个函数:
def get_information(directory):
.
.
.
return Information
这些帖子很有用:
1)如何在python中获得按创建日期排序的目录列表?
2)按日期排序
3)如何获得文件创建&Python中的修改日期/时间?
4) Python:按日期时间排序文件
5)按日期排序
6)如何在Python中获得文件的修改日期/时间?
然而,我觉得一定存在一个更好的,更可重用的解决方案,它适用于windows和linux。
我知道os.stat
对windows
和linux
的作用都很好。
文档在这里
然而,为了适应你的功能,你可以这样做:
您可以使用st_atime
访问最近的访问,使用st_ctime
访问文件创建时间。
import os,time
def get_information(directory):
file_list = []
for i in os.listdir(directory):
a = os.stat(os.path.join(directory,i))
file_list.append([i,time.ctime(a.st_atime),time.ctime(a.st_ctime)]) #[file,most_recent_access,created]
return file_list
print get_information("/")
我在mac
上,我得到这个,
[['.dbfseventsd', 'Thu Apr 4 18:39:35 2013', 'Thu Apr 4 18:39:35 2013'], ['.DocumentRevisions-V100', 'Wed May 15 00:00:00 2013', 'Sat Apr 13 18:11:00 2013'],....]