Python代码,用于从/ directory开始查找所有目录/子目录中新创建,修改和删除的文件

nsh*_*nsh 6 python

我知道如何列出目录树中的所有子目录和文件.但我正在寻找方法列出所有新创建的文件,修改和(如果可能)从根目录开始在目录树中的所有目录中删除的文件.

unu*_*tbu 15

您可以通过查看每个文件的"mtime"找到在过去半小时内创建或修改的所有文件:

import os
import datetime as dt

now = dt.datetime.now()
ago = now-dt.timedelta(minutes=30)

for root, dirs,files in os.walk('.'):  
    for fname in files:
        path = os.path.join(root, fname)
        st = os.stat(path)    
        mtime = dt.datetime.fromtimestamp(st.st_mtime)
        if mtime > ago:
            print('%s modified %s'%(path, mtime))
Run Code Online (Sandbox Code Playgroud)

要生成已删除文件的列表,您还必须在30分钟前拥有一个文件列表.


更强大的替代方案是使用类似的修订控制系统git.提交目录中的所有文件就像制作快照一样.然后命令

git status -s
Run Code Online (Sandbox Code Playgroud)

将列出自上次提交以来已更改的所有文件.这将列出已删除的文件.