栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

交互时在python中重新导入模块

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

交互时在python中重新导入模块

这应该工作:

reload(my.module)

来自Python文档

重新加载先前导入的模块。该参数必须是模块对象,因此它必须已经成功导入。如果您已使用外部编辑器编辑了模块源文件,并且想在不离开Python解释器的情况下尝试新版本,则这将非常有用。

如果运行Python 3.4及更高版本,请执行

importimportlib
,然后执行
importlib.reload(nameOfModule)

不要忘记使用此方法的注意事项:

  • 重新加载模块时,将保留其字典(包含模块的全局变量)。名称的重新定义将覆盖旧的定义,因此这通常不成问题,但是,如果模块的新版本未定义旧版本所定义的名称,则不会删除旧定义。

  • 如果一个模块使用导入了另一个模块的对象

    from ... import ...
    ,则调用
    reload()
    另一个模块的操作并未重新定义从该模块导入的对象-解决该问题的一种方法是重新执行该
    from
    语句,另一种方法是使用
    import
    和限定名称(
    module.*name*
    )。

  • 如果模块实例化一个类的实例,则重新加载定义该类的模块不会影响实例的方法定义-它们将继续使用旧的类定义。派生类也是如此。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/640753.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号