使用Python获取目录(包括子目录)的最后修改日期?

use*_*r4k 5 python

我想获取目录的最后修改日期和时间.在这样做时,我想包括子目录的最后修改日期.

我可以找到一些与这个问题相关的主题.(如何在Python中获取文件创建和修改日期/时间?)但所有这些只是给出根目录的最后修改时间而不考虑子目录.

import os.path, time
print "last modified: %s" % time.ctime(os.path.getmtime(file))
print "created: %s" % time.ctime(os.path.getctime(file))
Run Code Online (Sandbox Code Playgroud)

这些代码行只是给出了根目录的最后修改时间,而没有考虑子目录.请帮帮我.

Rob*_*obᵩ 13

这应该按照你的要求做:

import os
import time

print time.ctime(max(os.stat(root).st_mtime for root,_,_ in os.walk('/tmp/x')))
Run Code Online (Sandbox Code Playgroud)

但是我看到你用了os.path.getmtime().所以你可能正在寻找这个:

print time.ctime(max(os.path.getmtime(root) for root,_,_ in os.walk('/tmp/x')))
Run Code Online (Sandbox Code Playgroud)

  • 不,目录的修改时间仅反映对目录文件的修改(即条目的添加和删除)。所以 /tmp/x 在创建 /tmp/x/foo.txt 时更新,但在 /tmp/x/y/foo.txt 时不会更新。(当然,当 /tmp/x/foo.txt 仅被修改时,/tmp/x 也不会更新。) (2认同)