替换模块中的包导入
Replace package import in a module
我使用一个模块,该模块使用相对导入点表示法将函数导入为包导入:
from .utils import target_func
class ClassINeed:
def function_i_call(self):
return target_func()
我想用 from classineed import ClassINeed
导入 ClassINeed,但用我自己的函数替换 target_func
。问题是,target_func 不是我正在导入的 class 的一部分。因此我看不到访问它的方法。有什么方法可以做到这一点?
在 from classineed import ClassINeed
之上,还执行 import classineed
,然后根据需要通过 classineed.target_func = lambda : 'hello!'
覆盖 target_func
。
P.S。如果您已经有 import classineed
.
,那么使用 classineed.ClassINeed
引用 class ClassINeed
可能会更清晰
我使用一个模块,该模块使用相对导入点表示法将函数导入为包导入:
from .utils import target_func
class ClassINeed:
def function_i_call(self):
return target_func()
我想用 from classineed import ClassINeed
导入 ClassINeed,但用我自己的函数替换 target_func
。问题是,target_func 不是我正在导入的 class 的一部分。因此我看不到访问它的方法。有什么方法可以做到这一点?
在 from classineed import ClassINeed
之上,还执行 import classineed
,然后根据需要通过 classineed.target_func = lambda : 'hello!'
覆盖 target_func
。
P.S。如果您已经有 import classineed
.
classineed.ClassINeed
引用 class ClassINeed
可能会更清晰