如何在模块上拨打__ -dict__时避免运行时间?
它出现在Matplotlib等一些大模块中。例如,表达式:
import importlib
obj = importlib.import_module('matplotlib')
obj_entries = obj.__dict__
obj_entries 的运行之间可能会有所不同。从108到157(预期)条目。尤其是像其他类模型一样可以忽略Pyplot。 在 dict 提取后,它可以在手动调试模式下使用Len Computing语句稳定。但是在汽车中,它的工作状况不佳。
发生这种错误:
RuntimeError: dictionary changed size during iteration
python-BaseException
使用Windows上的Clear Python 3.10。版本交换根本什么都不改变
it is appearing in some big modules like matplotlib. For example expression :
import importlib
obj = importlib.import_module('matplotlib')
obj_entries = obj.__dict__
Between runs len of obj_entries can vary. From 108 to 157 (expected) entries. Especially pyplot can be ignored like some another submodules.
it can work stable during manual debug mode with len computing statement after dict extraction. But in auto it dont work well.
such error occures:
RuntimeError: dictionary changed size during iteration
python-BaseException
using clear python 3.10 on windows. Version swap change nothing at all
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在一些尝试中,发现了一些有趣的功能。
在 dict 启动之前,使用 ret 是有帮助的。
但是,如果模块在诸如变量之类的类之间运输,则更可能发生懒惰的象征吗?目前,有证据表明,并非所有名称都显示命令行解班器进行相反的情况 - 返回预期的内容。因此,这种代码的垃圾有助于绕过这个Bechavior ...
注意:使用 pkgutil.iter_modules(some_path)观察模块IM内部用于 pkgutil moduleinfo 表格。
仍然不熟悉进口力学内部
during some attempts some interesting features was found.
use of repr is helpfull before dict initiation.
But if module transported between classes like variable more likely lazy-import happening? For now there is evidence that not all names showing when command line interpriter doing opposite - returning what expected. So this junk of code help bypass this bechavior...
Note: using pkgutil.iter_modules(some_path) to observe modules im internal for pkgutil ModuleInfo form.
still unfamilliar with interior of import mechanics so it will be helpfull to recive some links to more detail explanation (spot on)