【问题标题】:how to reload a function from a module in python如何从python中的模块重新加载函数
【发布时间】:2018-09-03 13:48:34
【问题描述】:

我在myModMyFolder 下定义了一个函数myFunc(a,b)。 我通过以下方式导入函数并调用函数,它可以工作。

from MyFolder.myMod import myFunc
myFunc(a,b)

现在我更新我的功能。我想重新加载我的函数,但reload(myMod.myFunc) 不起作用。 reload(MyFolder.myMod) 也不起作用。我可以知道原因吗?

【问题讨论】:

  • 嗨,艾多。实际上,我在发布自己的帖子之前阅读了您提到的帖子。该帖子似乎对我不起作用。我可以成功运行我的函数'myFunc(a,b)',但是当我运行'reload('myFunc)'时它给出一个错误'name 'myFunc' is not defined'

标签: python reload


【解决方案1】:

模块在您导入时一次编译。当您更改它们时,除非重新导入,即重新编译,否则 python 不会拾取它们。所以要解决这个问题,你可以这样做

import importlib
importlib.reload(module_name)

对于 python 3.x

而对于 python 2.x 你可以

reload(module_name)

【讨论】:

    猜你喜欢
    • 2011-11-08
    • 2019-04-28
    • 2018-10-10
    • 2018-06-10
    • 2010-10-01
    • 1970-01-01
    相关资源
    最近更新 更多