热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PythonWatchdog:深入解析与应用实例

本文深入探讨了PythonWatchdog库的使用方法和应用场景。通过详细的代码示例,展示了如何利用Watchdog监控文件系统的变化,包括文件的创建、修改和删除等操作。文章不仅介绍了Watchdog的基本功能,还探讨了其在实际项目中的高级应用,如日志监控和自动化任务触发。读者将能够全面了解Watchdog的工作原理及其在不同场景下的应用技巧。

监视文件变更

#!/usr/bin/python

# -*- coding:UTF-8 -*-

import time

from watchdog.observers import Observer

from watchdog.events import RegexMatchingEventHandler

class MyHandler(RegexMatchingEventHandler):

def __init__(self, regex_list=[r".*"]):

super(MyHandler, self).__init__(regex_list)

def on_created(self, event):

if event.is_directory:

pass

else:

print(event.event_type, event.src_path)

def on_deleted(self, event):

if event.is_directory:

pass

else:

print(event.event_type, event.src_path)

def on_modified(self, event):

if event.is_directory:

pass

else:

print(event.event_type, event.src_path)

def on_moved(self, event):

print("move", event.src_path, event.dest_path)

if __name__ == "__main__":

reges = [r".*\.c", r".*\.h", r".*\.cpp"]

event_handler = MyHandler(reges)

observer = Observer()

observer.schedule(event_handler, ".", recursive=True)

observer.start()

try:

print("start my watch")

while True:

time.sleep(100)

except KeyboardInterrupt:

observer.stop()

observer.join()

读取配置文件

# -*- coding: utf-8

from configparser import ConfigParser

def get_config(section_name="env", conf_file="ssh-config.ini"):

'''

:param section_name:

:param conf_file:

:return dictornary:

eg.

[env]

user = root

password = root123

return {"user":"root", "password":"root123"}

'''

config = ConfigParser()

config.read_file(open(conf_file))

return dict(config.items(section_name))

for k, v in get_config().items():

print(k, ":", v)



推荐阅读
  • Shiro功能拓展:登录失败重试次数限制
    本文详细介绍了如何在Apache Shiro框架中实现对用户登录失败重试次数的限制,通过自定义密码匹配器来增强系统的安全性。该方法不仅能够有效防止暴力破解攻击,还能确保合法用户的账户安全。 ... [详细]
  • 应用程序配置详解
    本文介绍了配置文件的关键特性及其在不同场景下的应用,重点探讨了Machine.Config和Web.Config两种主要配置文件的用途和配置方法。文章还详细解释了如何利用XML格式的配置文件来调整应用程序的行为,包括自定义配置、错误处理、身份验证和授权设置。 ... [详细]
  • Git SSH配置及远程仓库操作指南
    本文介绍了如何配置Git环境,包括设置用户信息、生成和添加SSH密钥,并详细说明了如何通过SSH连接到远程仓库进行版本控制操作。 ... [详细]
  • 使用Python轻松合并大量复杂Excel文件
    当面对大量的Excel文件时,如何高效地将它们合并成一个文件成为了一项挑战。本文将指导初学者如何利用Python的几个库,在几十行代码内完成这一任务。 ... [详细]
  • 导读上一篇讲了zsh的常用字符串操作,这篇开始讲更为琐碎的转义字符和格式化输出相关内容。包括转义字符、引号、print、printf的使用等等。其中很多内容没有必要记忆,作为手册参 ... [详细]
  • 转载网址:http:www.open-open.comlibviewopen1326597582452.html参考资料:http:www.cocos2d-ip ... [详细]
  • python image stiching_Python自然语言处理,词云图生成
    自然语言处理本节介绍如何使用Python中的库,生成词云图,涉及自然语言处理的相关问题,自然语言处理是计算机科学领域与人工智能领域中的一个 ... [详细]
  • 本文介绍了如何在三台CentOS 7.5虚拟机上通过Docker部署RabbitMQ集群,包括环境准备、容器创建、集群配置及故障处理等内容。 ... [详细]
  • 本文介绍了如何在 Linux 系统上构建网络路由器,特别关注于使用 Zebra 软件实现动态路由功能。通过具体的案例,展示了如何配置 RIP 和 OSPF 协议,以及如何利用多路由器查看工具(MRLG)监控网络状态。 ... [详细]
  • 本文介绍了一个简单的Python函数,该函数能够接收一个日期作为输入,并返回这一天是星期几。此功能通过使用Python的datetime模块实现。 ... [详细]
  • 本文详细介绍了C++标准模板库(STL)中各容器的功能特性,并深入探讨了不同容器操作函数的异常安全性。 ... [详细]
  • Flutter入门指南:实现自动关闭的对话框与提示
    本文为Flutter系列教程的一部分,专注于讲解如何在Flutter应用中实现自动关闭的对话框和提示。通过具体的代码示例,帮助开发者掌握SnackBar、BottomSheet和Dialog的使用方法。 ... [详细]
  • grep、sed、awk一、grep的用法1、grep简介grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep包 ... [详细]
  • 本文深入探讨了OpenCV中的Canny边缘检测算法,并通过具体的Python代码实例展示了如何实现特定区域的轮廓线提取。适合初学者和专业人士参考。 ... [详细]
  • 本文深入探讨了Java注解的基本概念及其在现代Java开发中的应用。文章不仅介绍了如何创建和使用自定义注解,还详细讲解了如何利用反射机制解析注解,以及Java内建注解的使用场景。 ... [详细]
author-avatar
宝宝抱抱你啊
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有