问题标签 [import-hooks]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - inspect.getmodule 为导入挂钩返回 None
我正在我的 python 代码中创建一个运行时模块,类似于
在现有模块中,我有代码检查调用者是否是模块
由于我从运行时模块调用 existing_module,我希望 caller_module 不是 None。但是,我正在打那个断言。不知道为什么。
任何人都可以帮忙吗?
python - 在 python-3.4+ 中实现导入后挂钩的正确方法
我想修改导入行为。我在 David Beazley 和 Brian K. Jones 的“Python Cookbook”一书中找到了一个带有 post import hook 的示例,它应该适合我的问题。
由于在python-3.3
提供示例的时间发布了最新版本,因此已过时。我不得不自己修改它,以便代码与importlib
after兼容python-3.4
。在原始版本中定义了PostImportFinder
class而不是find_module(self, fullname, path = None)
定义了 in 。这是一个可重现的小例子:PostImportLoader
create_module()
load_module()
当我运行start.py
时出现以下错误:
所以我的问题很明显:我做错了什么?我根本看不到_skip
和str
是如何相关的,因为我初始化_skip
为一个集合。是否有另一种/更好的方法来更改指定模块的导入后行为?
更新: PS 我忘了提,我目前使用 python-3.7 。