Nic*_*nov 5 python include pycharm python-3.x
我调试(在 PyCharm 中)一个脚本。我停在断点处,然后转到调试控制台窗口,然后从那里调用导入行,如下所示:
import my_util1 from my_utils
Run Code Online (Sandbox Code Playgroud)
然后我调用 my_util1。到目前为止,一切正常。然后我在“my_util1”中更改了一些东西。现在我想调用(更新的)my_util1,但我不能:系统(Python?Pycharm?)“看到”只有以前版本的 my_util1。
除了退出 PyCharm 并重新启动项目之外,是否有可能“重置”(刷新)我之前导入的内容或“重新导入”它?
这与动态更改正在调试的实际代码无关。我正在寻找的任务更简单 - 只需撤消“导入”操作,或立即重置/清除/刷新所有“导入”就足够了。此外,该操作可以在调试器窗口中完成,而不是在代码窗口中完成。
可以操纵sys.modules来改变 Python 对当前导入内容的想法。引用Python文档:
这是一个字典,将模块名称映射到已加载的模块。可以操纵它来强制重新加载模块和其他技巧。但是,替换字典不一定会按预期工作,并且从字典中删除必要的项目可能会导致 Python 失败。
使用示例:
import sys
import my_util1 from my_utils
# Now sys.modules['my_utils'] exists and my_util1 is a local name.
del sys.modules['my_utils']
# my_util1 still exists as a local name, but Python has "forgotten" the import.
import my_util1 from my_utils
# This re-imports my_utils and binds the new my_util1.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3360 次 |
| 最近记录: |