由于我通常使用 ipython 来处理正在开发的代码,因此我遇到了将类的代码导入 ipython 后更改其代码的情况。我想在不重新启动 ipython 的情况下重新加载新的类定义。问题是 ipython 中的 reload 函数仅适用于模块。
我搜索了这个问题的解决方案,发现了一个之前的帖子: 如何在python shell中重新加载一个类?
但是,我遵循了那里的方法,但没有奏效。我认为它在该线程中起作用的原因是类名恰好与模块名相同,因此可以在 sys.modules 中找到它,因此可以将其删除。当类名与模块名不同时,该方法不起作用。
我想知道这个问题是否有解决方案。谢谢!