前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python热更新功能:不重启服务器的情况下加载并执行新文件

Python热更新功能:不重启服务器的情况下加载并执行新文件

作者头像
Python疯子
发布2019-10-20 14:31:23
5.6K0
发布2019-10-20 14:31:23
举报
文章被收录于专栏:Python疯子

有时我们需要在不重启服务器的情况下加载并执行新文件。 严格来说Python没有热更功能,但今天介绍这个功能可以实现该方法,就叫:“类热更”吧 -- 类似热更新 ........ 此处略去一万字,进入正题。 准备好新文件my_config.py内容:

代码语言:javascript
复制
def mymod():
   print("我是新文件的数据")

先配置好一个服务代码,这里用了简单的sanic,先编写两个简单的接口函数:

接口函数

在get1接口中添加新文件加载处理函数 load_sour()

文件加载处理函数.png

启动服务,调用/接口:

image.png

然后将新文件my_config.py拖至server.py同级目录

新文件处理

然后调用加载新文件接口:get1

文件加载

服务端加载并执行了新文件函数mymod:

调用新文件函数.png

主要的加载处理函数:

代码语言:javascript
复制
def load_sour():
  print("执行:load_sour")

  # imp 从 Python 3.4 之后弃用了,建议使用 importlib 代替
  # import imp
  # a = imp.load_source('mymod', 'my_config.py')

  import importlib
  a = importlib.machinery.SourceFileLoader('mymod','my_config.py').load_module()

  a.mymod()

加载新文件函数

代码语言:javascript
复制
a = importlib.machinery.SourceFileLoader('函数名', '文件名.py').load_module()
a.mymod()
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.10.17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档