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)
    
  • 相关阅读:
    趋势or过渡,量子点屏幕真的优于OLED?
    文件打开方式设置
    学Arduino 需要做哪些准备?(引自"知乎用户:郑兴芳,DhP"的回答)
    Arduino扫盲(持续添加中)
    订购一套Arduino UNO r3入门套件
    第一次接触Arduino
    关于移动端的事件委托问题
    ASDas
    CentOS利用source命令导入sql文件
    CentOS-LAMP
  • 原文地址:https://www.cnblogs.com/wangshide/p/4594049.html
Copyright © 2011-2022 走看看