返回顶部
首页 > 资讯 > 后端开发 > Python >Python-使用watchdog热更新
  • 129
分享到

Python-使用watchdog热更新

Pythonwatchdog 2023-01-31 01:01:31 129人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

直接上代码: import importlib from watchdog.observers import Observer from watchdog.events import * class ScriptEventHa

直接上代码:

import importlib
from watchdog.observers import Observer
from watchdog.events import *


class ScriptEventHandler(FileSystemEventHandler):
    def __init__(self):
        FileSystemEventHandler.__init__(self)

    # 文件移动
    def on_moved(self, event):
        if event.is_directory:
            print("directory moved from {0} to {1}".fORMat(event.src_path, event.dest_path))
        else:
            print("file moved from {0} to {1}".format(event.src_path, event.dest_path))

    # 文件新建
    def on_created(self, event):
        if event.is_directory:
            print("directory created:{0}".format(event.src_path))
        else:
            self.reload_module(event.src_path)
            print("file created:{0}".format(event.src_path))

    # 文件删除
    def on_deleted(self, event):
        if event.is_directory:
            print("directory deleted:{0}".format(event.src_path))
        else:
            print("file deleted:{0}".format(event.src_path))

    # 文件修改
    def on_modified(self, event):
        if event.is_directory:
            print("directory modified:{0}".format(event.src_path))
        else:
            print("file modified:{0}".format(event.src_path))
            self.reload_module(event.src_path)

    # 重载模块
    def reload_module(self, module_name: str):
        module_name = module_name.replace('/', '.')
        module_name = module_name.replace('.py', '')
        instance = importlib.import_module(module_name)
        if instance:
            importlib.reload(instance)

observer = Observer()
event_handler = ScriptEventHandler()
# ./test为需要监控的目录
self.observer.schedule(event_handler,'./test', False)
self.observer.start()

--结束END--

本文标题: Python-使用watchdog热更新

本文链接: https://lsjlt.com/news/184407.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python-使用watchdog热更新
    直接上代码: import importlib from watchdog.observers import Observer from watchdog.events import * class ScriptEventHa...
    99+
    2023-01-31
    Python watchdog
  • Python 软件热更新
    本篇文章涉及技术知识如下: Redis threading 多线程 PyQt5 importlib 热更新 场景 咱们在平时运行一些长时间都会一直运行的软件(如:某些云同步软件)的时候,某些功能因为考虑的情况可能不充分,导致体验不...
    99+
    2023-01-31
    软件 Python
  • 使用CocosCreator怎么实现热更新
    今天就跟大家聊聊有关使用CocosCreator怎么实现热更新,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。什么是热更热更(新)本质上是从服务器下载需要的资源到本地,并且可以执行新的...
    99+
    2023-06-14
  • Unity3d热更新(一):更新思路
    目前Unity手游的热更新基本采用如下思路:首先将资源打包成AssetBundle。如果有两个对象共同依赖于同一个对象,需要采用依赖关系打包。AssetBundle需要根据不同的平台打包,各平台之间不能混用,如IOS和Android。为打包...
    99+
    2023-01-31
    思路 Unity3d
  • Android微信Tinker热更新详细使用
    先看一下效果图 Tinker已知问题 由于原理与系统限制,Tinker有以下已知问题: Tinker不支持修改AndroidManifest.xml,Tinker不支持新...
    99+
    2022-06-06
    tinker 更新 Android
  • nodejs实现热更新
    随着web应用的不断发展,JavaScript已经成为前端以及后端开发中的重要语言之一。而Node.js则是一种基于JavaScript的开源、跨平台的运行时环境。尽管Node.js的热度不如几年前,但它仍然是一个强大的工具,为前端/后端开...
    99+
    2023-05-17
  • uniapp实现热更新
    随着移动开发的发展,热更新已经成为了一个非常重要的功能,可以让应用程序在不需要再次发布的情况下,及时地修正bug并添加新特性。而对于uniapp来说,热更新是一种非常重要的解决方案,因为它可以同时支持多个平台,并且实现起来也比较简单。在本文...
    99+
    2023-05-22
  • U3D热更新技术
    @作者 : SYFStrive @博客首页 : HomePage 📌:个人社区(欢迎大佬们加入) 👉:社区链接🔗 🤷‍♀️:创作不易转发需经作者同意😈...
    99+
    2023-08-20
    3d ios c#
  • golang热更新原理
    Go语言的热更新原理主要通过以下四个步骤实现:1、通过监视源代码文件或指定目录,检测文件内容的变化;2、当文件发生变化时,使用Go的工具链重新构建被修改的代码包或整个程序;3、通过使用plugin包或reflect等反射机制,将新的代码加载...
    99+
    2023-12-18
    go语言 Golang golang热更新
  • Python在游戏中的热更新实现
    目录介绍:原理:1.标准import2.reload函数实现:总结:介绍: 热更新,就是在服务器不重启的的情况下,对游戏增加新的功能或者修复出现bug 的代码。游戏更新迭代速度快,...
    99+
    2024-04-02
  • python中的热更新或动态加载
    遍览网络中关于动态加载模块的文章,发现有两种方法,一种是用守护进程的方法,一种是用python自带的reload函数。 比较靠谱的文章是如下两篇: https://my.oschina.net/1123581321/blog/168720...
    99+
    2023-01-31
    加载 动态 python
  • 怎么用import.meta实现热更新
    这篇“怎么用import.meta实现热更新”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用import.meta实现热...
    99+
    2023-06-30
  • Android中的全量更新、增量更新以及热更新
    在客户端开发过程中,我们可能会遇到这样一种需求:点击某个按钮弹出一个弹窗,提示我们可以更新到apk的某个版本,或者我们可以通过服务端接口进行强制更新。在这种需求中,我们是不需要通过应用商店来更新我们的...
    99+
    2023-09-14
    android java android studio
  • 全面讲解CocosCreator热更新
    目录前言什么是热更cocos热更概述manifest工程资源和游戏包内资源的区别searchPaths搜索路径cocos的基础热更流程_localManifest:当前包内的mani...
    99+
    2024-04-02
  • react如何实现热更新
    这篇文章主要讲解了“react如何实现热更新”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“react如何实现热更新”吧!react实现热更新的方法:1、使用“yarn add react-h...
    99+
    2023-07-04
  • react 怎么实现热更新
    本教程操作环境:Windows10系统、react18版、Dell G3电脑。react 怎么实现热更新?[React] create-react-app 实现热更新一、使用以下命令行下载 react-hot-loaderyarn add ...
    99+
    2023-05-14
    React
  • nacos怎么实现热更新
    要实现 Nacos 的热更新,可以按照以下步骤操作:1. 在 Nacos 控制台上创建一个配置。2. 在应用程序中引入 Nacos ...
    99+
    2023-08-26
    nacos
  • docker热更新怎么实现
    Docker 热更新可以通过以下几种方式来实现: 使用 Docker Compose:可以使用 Docker Compose 来...
    99+
    2023-10-27
    docker
  • 什么是Android Multidex热更新
    一、Android Multidex热更新 Multidex热更新是指在不重启应用的情况下,通过后台向app推送一个fix、dex文件,等这个文件下载完成,app提示用户发现新的更新,需要重启app。待用户重启,代码修复即会生效。 Andr...
    99+
    2023-10-29
    Android Multidex
  • spring boot 即时重新启动(热更替)使用说明
    需求使用 spring-boot 项目开发中,项目启动时“非常”慢的。如果每次修改代码或静态资源文件后都需要重新启动项目,这是多么痛苦的事。如何让项目又改动时即时“重启”呢引出spring-boot-devtools 该 spring 模块...
    99+
    2023-05-30
    spring boot 重新启动
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作