前端之家收集整理的这篇文章主要介绍了
如何在Python中修补__init__模块?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道,我知道,这很脏.我想知道是否可以劫持Python模块的__init__模块来替换它自己的模块.
我问这是因为我需要阻止django lib启动它的初始进程的某些部分,使其崩溃我们的配置.
是的,最好修复django lib并发回补丁.是的,我和作者有联系.但就目前而言,我需要快速修复.
最佳答案
劫持导入过程的一种
方法是在它发生之前的某个时间模拟导入,在另一个要导入猴子补丁的模块之前导入.将所需的任何
内容插入到sys.modules中,并将模块
名称作为键,当需要导入原始模块时,Python将在sys.modules中找到一个条目并将使用它.如果以某种神奇的方式完成导入,这可能无效.
另一方面,您可以随时复制原始项目并根据自己的喜好进行修补.