抓取修改后的文件python的名称

时间:2018-08-30 14:11:04

标签: python watchdog file-watcher python-watchdog

脚本中包含一个监视程序算法,我从这里开始对其进行了改编: https://www.michaelcho.me/article/using-pythons-watchdog-to-monitor-changes-to-a-directory

我现在的目标是添加几行来获取已修改文件的名称,这样我就可以使用if语句来检查某个文件,例如:

if [modified file name] == "my_file":
    print("do something")

我没有看门狗或看文件的经验,因此我正在努力寻找答案。我将如何收到修改后的文件名?

1 个答案:

答案 0 :(得分:1)

看门狗类的当前设置几乎没有用,因为它只打印...不返回任何内容。

让我提供另一种方法:

以下信息将为您提供过去12小时内修改的文件列表:

result = [os.path.join(root,f) for root, subfolder, files in os.walk(my_dir) 
            for f in files 
            if dt.datetime.fromtimestamp(os.path.getmtime(os.path.join(root,f))) > 
            dt.datetime.now() - dt.timedelta(hours=12)]

您可以保存last_search_time而不是固定的增量时间,并将其用于以后的搜索中。

然后您可以搜索结果以查看其中是否包含文件:

if my_file in result:
    print("Sky is falling. Take cover.")
相关问题