如何列出某些目录内容的最新修改时间?

时间:2015-11-15 09:02:16

标签: python algorithm python-2.7 sorting

假设如下结构:

People/
      Jimmy/
           my_Files/
                    work.txt
           report.txt
      Mohammad/
           the_work/
                    something2.sth
                    something2.sth

如您所见,我在 People 目录中为每个职员提供了一个目录,每个职员在他/她的目录中都有很多文件或目录。

我想编写一个程序来接收日期作为输入并搜索这些目录并返回那个职员在该日期之后没有修改过任何文件!

我正在使用以下程序列出所有文件:

files_path= list()
for root,dirs,files in os.walk(r"G:\People"):
    for filename in files:
        files_path.append(root+filename)

和以下程序接收它们的最后修改时间:

for single_file in files_path:
    print "last modified: %s" % time.ctime(os.path.getmtime(single_file))
    print "created: %s" % time.ctime(os.path.getctime(single_file))

嗯,两者都很好!问题是我无法管理结果以获得 用户对的可读输出:上次修改时间

有人可以帮助我处理它以获得合理的输出列表吗?

1 个答案:

答案 0 :(得分:2)

time.strftime可让您控制格式:

time.strftime('%H:%M:%S', time.gmtime(os.path.getmtime(single_file)))

小助手功能:

def format_time(seconds):
    return time.strftime('%H:%M:%S', time.gmtime(seconds))

成功 更平易近人:

print "last modified: %s, created: %s" %(format_time(os.path.getmtime(single_file)),
                                         format_time(os.path.getctime(single_file)))

输出:

last modified: 13:05:56, created: 13:05:56