Python实时检测文件及文件夹变动

比较流行的是通过watchdog,一个例子:

import time
import logging
from watchdog.observers import Observer
from watchdog.events import LoggingEventHandlerif __name__ == '__main__':logging.basicConfig(level=logging.INFO,format='%(asctime)s - %(message)s',datefmt='%Y-%m-%d %H:%M:%S')path = "C:/data/"# 内置的LoggingEventHandlerevent_handler = LoggingEventHandler()# 观察者observer = Observer()# recursive:True 递归的检测文件夹下所有文件变化。observer.schedule(event_handler, path, recursive=True)# 观察线程,非阻塞式的。observer.start()try:while True:time.sleep(1)except KeyboardInterrupt:observer.stop()observer.join()

当创建一个文件夹,创建一个文件,或者删除一个文件夹,对文件内容写操作,都会触发事件:

也可以自己定义一个事件监听器,在里面监听文件/目录的增删改读写状态变化:

import datetime
import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandlerclass MyEventHandler(FileSystemEventHandler):def __init__(self):FileSystemEventHandler.__init__(self)def on_any_event(self, event):print("-----")print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f'))# 移动def on_moved(self, event):if event.is_directory:print("目录 moved:{src_path} -> {dest_path}".format(src_path=event.src_path, dest_path=event.dest_path))else:print("文件 moved:{src_path} -> {dest_path}".format(src_path=event.src_path, dest_path=event.dest_path))# 新建def on_created(self, event):if event.is_directory:print("目录 created:{file_path}".format(file_path=event.src_path))else:print("文件 created:{file_path}".format(file_path=event.src_path))# 删除def on_deleted(self, event):if event.is_directory:print("目录 deleted:{file_path}".format(file_path=event.src_path))else:print("文件 deleted:{file_path}".format(file_path=event.src_path))# 修改def on_modified(self, event):if event.is_directory:print("目录 modified:{file_path}".format(file_path=event.src_path))else:print("文件 modified:{file_path}".format(file_path=event.src_path))if __name__ == '__main__':path = "C:/data/"myEventHandler = MyEventHandler()# 观察者observer = Observer()# recursive:True 递归的检测文件夹下所有文件变化。observer.schedule(myEventHandler, path, recursive=True)# 观察线程,非阻塞式的。observer.start()try:while True:time.sleep(1)except KeyboardInterrupt:observer.stop()observer.join()

Python实时检测文件及文件夹变动相关推荐

  1. 【教程】Python实时检测CPU和GPU的功耗

    目录 前言 GPU功耗检测方法 CPU功耗检测方法 sudo的困扰与解决 完整功耗分析示例代码 转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn] 前言 相关一些检测工具挺多的,比如po ...

  2. python实时检测键盘输入函数

    在嵌入式.尤其是机器人的python编程中,经常需要实时检测用户的键盘输入来随时控制机器人,这段代码可以帮助我们提取用户输入的字符,并在按下键盘的时候作出反应. import sys import t ...

  3. python实时检测循环_python实时检测循环_(06)-Python3之--判断、循环

    1.判断(if) 语法: if 条件(True/False): 条件为真时,执行的代码(要干的事情) [elif 条件: 条件为真时,执行的代码(要干的事情) elif 条件: 条件为真时,执行的代码 ...

  4. python实时检测循环_(06)-Python3之--判断、循环

    1.判断(if) 语法: if 条件(True/False): 条件为真时,执行的代码(要干的事情) [elif 条件: 条件为真时,执行的代码(要干的事情) elif 条件: 条件为真时,执行的代码 ...

  5. python查看运行内存占用_利用Python如何实时检测自身内存占用

    前言 最近在做文本统计,用 Python 实现,遇到了一个比较有意思的难题--如何保存统计结果. 直接写入内存实在是放不下,十几个小时后内存耗尽,程序被迫关闭.如果直接写入数据库吧,每次写入又太慢了, ...

  6. python检测键盘输入_python实时检测键盘输入函数的示例

    在嵌入式.尤其是机器人的python编程中,经常需要实时检测用户的键盘输入来随时控制机器人,这段代码可以帮助我们提取用户输入的字符,并在按下键盘的时候作出反应. import sys import t ...

  7. python检测键盘按键命令_python实时检测键盘输入函数的示例

    在嵌入式.尤其是机器人的python编程中,经常需要实时检测用户的键盘输入来随时控制机器人,这段代码可以帮助我们提取用户输入的字符,并在按下键盘的时候作出反应. import sys import t ...

  8. python 检测文件或文件夹是否存在

    python 检测文件或文件夹是否存在 文件 # 是否存在 import os os.path.exists(test_file.txt) # 是不是文件 import os os.path.isfi ...

  9. Python 递归检测文件夹下的文件

    Python 递归检测文件夹下的文件. 怕自己忘记记录一下: import os# 查找指定文件夹下所有相同名称的文件 def search_file(dirPath, fileName):dirs ...

最新文章

  1. 十大互联网公司都在寻找她!她是什么样的?
  2. kafka启动异常:kafka.common.InconsistentClusterIdException: The Cluster ID xxx
  3. 局域网限速软件_2号破解app重器推荐一款强大的快捷软件
  4. python return返回值_Python return语句 函数返回值
  5. 海园帮忙写的JQUERY功能,实现了我们想要的,我觉得有点屌哟~~
  6. 1.剑指Offer --- 面试的流程
  7. dispatch作用 react_javascript – redux-react中的dispatch函数
  8. JNDI:对java:comp/env的研究
  9. Google搜索技巧大全:101个谷歌搜索技巧推荐
  10. React-Native使用Nanohttpd实现跨平台互传文件
  11. 风暴英雄 服务器在哪个文件夹,《风暴英雄》国服官方答疑 玩家最关心的问题都在这里...
  12. [车]上海外地“苏牌”竟要万元
  13. 【JAVA笔记】JAVA调用同一个包里的不同类的方法:
  14. 达人评测 r7 7730U和R5 7530U选哪个好 锐龙r77730U和R57530U对比
  15. 大数据清洗2(元素操作)
  16. 导出excel时,弹出的下载窗口一闪而过
  17. 用微信开发者工具--打开微信小程序weui组件示例
  18. 全局最优和局部最优 世俗理解以及原理解释
  19. Win控制台下的贪吃蛇(C++)
  20. 来听听资深设计师的想法(下)

热门文章

  1. 分析谷歌收购摩托罗拉无线对移动产业带来的影响
  2. 网购平台比价系统的实现
  3. 美学评价:Image Aesthetic Assessment: An Experimental Survey(计算机视觉美学评估综述)
  4. 涂鸦智能利润不及预期:股价暴跌18%,归母净利润-7866.30万美元
  5. 软件测试面试题:请你分别画出 OSI 的七层网络结构图和 TCP/IP 的四层结构图?
  6. homework530
  7. 快手集福气中国牛 2021快手集福卡活动规则
  8. java多线程举例买票之买电影票出现的了相同的票和负数票的原因分析和解决方法
  9. 怡丰机器人上市_成立三年之内 机器人领域的这些黑马公司不可不知
  10. linux和docker的capabilities介绍