在控制台中工作时如何轻松重新加载/重新导入模块

半径

在处理模块时,我使用 repl(python 控制台)来测试功能。

我试图解决的问题是很容易重新加载模块并在修改后重新导入模块对象。

一个例子说明了这个问题。

在控制台中,我开始测试包 abc 中的函数

>>> from a.b.c import *
>>> myFunction(1)
wrong answer

我回到文本编辑器并修复 myFunction 现在我想重新测试它(我不想杀死 repl 并重新启动它,因为我可能有一些我想重用的测试变量)

所以我必须做这样的事情:

>>> import a.b.c
>>> from importlib import reload
>>> reload(a.b.c)
>>> from a.b.c import *
>>> myFunction(1)
hopefully the right answer

我想编写一个函数来一次性完成重新加载和重新导入 *。

理想情况下,我想用类似的东西替换上一个会话

>>> myTestReload(a.b.c)
>>> myFunction(1)
hopefully the right answer

在 myTestReload() 函数中,我可以reload(a.b.c)用来重新加载修改后的模块,但我没有找到一种方法来做等效的from a.b.c import *

阿韦赞

这将重置globals这里是一个示例itertools

import itertools
from itertools import *
from importlib import reload

itools = reload(itertools)

for k, v in itools.__dict__.items():
    if k in globals():
            globals()[k] = v

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当任务在ConEmu控制台中终止时,如何在同一控制台中重新运行它?

来自分类Dev

重新加载导入的模块

来自分类Dev

重新加载导入的模块

来自分类Dev

如何在PyCharm控制台中导入自己的模块

来自分类Dev

从“ <模块>导入*”后如何重新加载?

来自分类Dev

从“ <模块>导入*”后如何重新加载?

来自分类Dev

如何导入模块(如果先前导入,则重新加载)

来自分类Dev

从查询控制台中的模块数据库导入模块

来自分类Dev

流星1.3模块-如何在控制台中使用npm导入的库?

来自分类Dev

流星1.3模块-如何在控制台中使用npm导入的库?

来自分类Dev

我如何才能在H2控制台中重新获得“ H2”选项?

来自分类Dev

如何重新加载Java模块

来自分类Dev

导入在控制台中工作,但不在pyCharm中

来自分类Dev

导入在控制台中工作,但不在pyCharm中

来自分类Dev

模块重新加载无法按预期工作

来自分类Dev

更改模块后如何重新加载模块?

来自分类Dev

加载Doctrine固定装置时,如何在控制台中禁用查询日志记录?

来自分类Dev

在 Web 控制台中工作时,oc rollout 从命令行失败。如何调查?

来自分类Dev

如何重新连接控制台?

来自分类Dev

如何重新导出合格的导入模块?

来自分类Dev

重新加载模块是否会更改先前导入/重新加载的模块中的名称?

来自分类Dev

导入数据后如何重新加载UITableView?

来自分类Dev

带重新加载重复日志记录的记录器

来自分类Dev

流星Router.go()不会重新显示,但可以在Chrome的控制台中使用

来自分类Dev

为什么等待后可以在控制台中重新分配const x?

来自分类Dev

我可以在Linux控制台中重新映射SHIFT + CAPS LOCK吗?

来自分类Dev

调整亮度而无需重新启动并在控制台中?

来自分类Dev

std :: cout每次使用时都会重新打印控制台中当前的所有内容

来自分类Dev

在Visual Studio 2015中重新加载Designer时,为什么会弹出控制台应用程序?

Related 相关文章

  1. 1

    当任务在ConEmu控制台中终止时,如何在同一控制台中重新运行它?

  2. 2

    重新加载导入的模块

  3. 3

    重新加载导入的模块

  4. 4

    如何在PyCharm控制台中导入自己的模块

  5. 5

    从“ <模块>导入*”后如何重新加载?

  6. 6

    从“ <模块>导入*”后如何重新加载?

  7. 7

    如何导入模块(如果先前导入,则重新加载)

  8. 8

    从查询控制台中的模块数据库导入模块

  9. 9

    流星1.3模块-如何在控制台中使用npm导入的库?

  10. 10

    流星1.3模块-如何在控制台中使用npm导入的库?

  11. 11

    我如何才能在H2控制台中重新获得“ H2”选项?

  12. 12

    如何重新加载Java模块

  13. 13

    导入在控制台中工作,但不在pyCharm中

  14. 14

    导入在控制台中工作,但不在pyCharm中

  15. 15

    模块重新加载无法按预期工作

  16. 16

    更改模块后如何重新加载模块?

  17. 17

    加载Doctrine固定装置时,如何在控制台中禁用查询日志记录?

  18. 18

    在 Web 控制台中工作时,oc rollout 从命令行失败。如何调查?

  19. 19

    如何重新连接控制台?

  20. 20

    如何重新导出合格的导入模块?

  21. 21

    重新加载模块是否会更改先前导入/重新加载的模块中的名称?

  22. 22

    导入数据后如何重新加载UITableView?

  23. 23

    带重新加载重复日志记录的记录器

  24. 24

    流星Router.go()不会重新显示,但可以在Chrome的控制台中使用

  25. 25

    为什么等待后可以在控制台中重新分配const x?

  26. 26

    我可以在Linux控制台中重新映射SHIFT + CAPS LOCK吗?

  27. 27

    调整亮度而无需重新启动并在控制台中?

  28. 28

    std :: cout每次使用时都会重新打印控制台中当前的所有内容

  29. 29

    在Visual Studio 2015中重新加载Designer时,为什么会弹出控制台应用程序?

热门标签

归档