【问题标题】:Python 2.7 IDLE cannot reloadPython 2.7 IDLE 无法重新加载
【发布时间】:2014-02-13 02:21:01
【问题描述】:

我在Windows 8. 中使用Python 2.7.6IDLE 我正在执行以下操作:import count,然后在 count 中修改一些内容,然后在 reload(count) 中进行修改,并且更改不会更新。我做错了什么?

谢谢!

【问题讨论】:

  • 想发布一小段代码来演示问题吗?这可能会更快地为您提供有用的反馈。 (记得补充:发生了什么,以及您的预期。)
  • import countx = count.count([0,1])x.add()。然后我修改了添加功能。 reload(count)x.add()。它不起作用。
  • 当我说它不起作用时,我的意思是模块没有重新加载。
  • 在再次尝试x.add() 之前,您是否重新分配了x?即使您重新加载了模块,x 也不会更改,除非您重新分配它。
  • 这就是问题所在!我没有重新分配 x。那行得通。非常感谢!

标签: python import reload python-idle


【解决方案1】:

在 python 中,当您重新加载模块时,对模块的任何旧引用或模块中的任何内容都不会受到影响。

如果您查看documentation for reload,您会看到:

对旧对象的其他引用(例如模块外部的名称)不会重新绑定以引用新对象,如果需要,必须在它们出现的每个命名空间中进行更新。

因此,如果您重新加载一个模块,您需要从该模块重新创建任何对象,以便从重新加载中获取更改。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-08
    • 1970-01-01
    • 1970-01-01
    • 2011-06-25
    • 2014-04-26
    • 2018-06-07
    • 1970-01-01
    相关资源
    最近更新 更多