gpt4 book ai didi

python - 修补本地实例

转载 作者:行者123 更新时间:2023-12-01 06:06:13 25 4
gpt4 key购买 nike

考虑我在 python 模块 a.py 中有以下代码:

def func():
obj = Obj()
# Some code that uses obj

有没有办法在不将 obj 设为函数参数的情况下对其进行猴子修补?

原因:在代码本身的上下文中,它不应该是一个参数,但是在使用代码进行测试和系统模拟的上下文中,补丁是合理的。此外,在各种情况下,我可能需要修补不同的本地对象,并将它们全部作为参数放置将是乏味的。

最佳答案

# if func() is defined in `a.py`
import a

oldObj, a.Obj = a.Obj, MockObj
a.func()
a.Obj = oldObj

关于python - 修补本地实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7867875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com