如何在Python中修补__init__模块?

前端之家收集整理的这篇文章主要介绍了如何在Python中修补__init__模块?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我知道,我知道,这很脏.我想知道是否可以劫持Python模块的__init__模块来替换它自己的模块.

我问这是因为我需要阻止django lib启动它的初始进程的某些部分,使其崩溃我们的配置.

是的,最好修复django lib并发回补丁.是的,我和作者有联系.但就目前而言,我需要快速修复.

最佳答案
劫持导入过程的一种方法是在它发生之前的某个时间模拟导入,在另一个要导入猴子补丁的模块之前导入.将所需的任何内容插入到sys.modules中,并将模块名称作为键,当需要导入原始模块时,Python将在sys.modules中找到一个条目并将使用它.如果以某种神奇的方式完成导入,这可能无效.

另一方面,您可以随时复制原始项目并根据自己的喜好进行修补.

猜你在找的Python相关文章