zoukankan      html  css  js  c++  java
  • python 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)
    
  • 相关阅读:
    Installshield—Basic MSI之 延迟Action
    基于.Net的Windows Service 编程
    C#, string的那些事
    [设计模式]单例模式
    C#的那些事01:简介
    Installshield 总结系列之Installshield Script Project
    Abstract class与interface的区别
    Android学习笔记,初识Android。。DVM与JVM
    另类的二级域名实现方法
    回首2008
  • 原文地址:https://www.cnblogs.com/wangshide/p/4594049.html
Copyright © 2011-2022 走看看