如何在Python中修补__init__模块?
发布时间:2020-12-16 22:18:50 所属栏目:Python 来源:网络整理
导读:我知道,我知道,这很脏.我想知道是否可以劫持Python模块的__init__模块来替换它自己的模块. 我问这是因为我需要阻止django lib启动它的初始进程的某些部分,使其崩溃我们的配置. 是的,最好修复django lib并发回补丁.是的,我和作者有联系.但就目前而言,我需要快
我知道,我知道,这很脏.我想知道是否可以劫持Python模块的__init__模块来替换它自己的模块. 我问这是因为我需要阻止django lib启动它的初始进程的某些部分,使其崩溃我们的配置. 是的,最好修复django lib并发回补丁.是的,我和作者有联系.但就目前而言,我需要快速修复. 最佳答案
劫持导入过程的一种方法是在它发生之前的某个时间模拟导入,在另一个要导入猴子补丁的模块之前导入.将所需的任何内容插入到sys.modules中,并将模块名称作为键,当需要导入原始模块时,Python将在sys.modules中找到一个条目并将使用它.如果以某种神奇的方式完成导入,这可能无效.
另一方面,您可以随时复制原始项目并根据自己的喜好进行修补. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |