【问题标题】:Compiling module using Notepad++ and IDLE in Windows在 Windows 中使用 Notepad++ 和 IDLE 编译模块
【发布时间】:2012-02-24 19:41:25
【问题描述】:

我有一个简单的模块和一个基本的定义。模块名称为 example315.py,def 为

def right_justify(s)
    print(s)

当我导入 example315 然后调用 example315.right_justify("hello world") 时,这工作正常

如果我将我的 def 更改为不返回任何内容(实际上我可以以任何方式更改它)然后再次运行该函数(当然是在保存我的模块之后)它仍然会打印。

没有退出 IDLE 并重新开始,我似乎无法让它工作。

任何帮助表示赞赏

【问题讨论】:

    标签: python


    【解决方案1】:

    每个会话加载一次模块,更改时必须重新加载。

    来自Python tutorial on modules

    出于效率原因,每个模块只导入一次 口译会议。因此,如果你改变你的模块,你必须 重新启动解释器——或者,如果它只是你想要测试的一个模块 以交互方式使用reload(),例如重新加载(模块名称)。

    【讨论】:

      【解决方案2】:

      您面临的问题是 IDLE 已经导入并构建了您的模块的内部表示。编辑磁盘上的文件不会反映在 IDLE 中现在导入的内存驻留版本。您应该能够获得您正在寻找的行为:

      example315 = reload(example315)

      这里有一些来源:Python Docs Source

      【讨论】:

        猜你喜欢
        • 2013-06-20
        • 2015-02-09
        • 2012-05-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-04
        • 1970-01-01
        • 2012-07-01
        相关资源
        最近更新 更多