包中的替代功能

时间:2018-07-11 10:37:34

标签: python function-overriding

我有一个体系结构,其中使用包装器从包模块调用函数。在模块内部,有一个函数调用另外三个函数。我需要在运行时覆盖其中之一。确实,我需要更改转发给另一组调用函数的参数。

这是一个案例样本:

a.py

import b_wrapper as wrapper

def foo():
    if wrapper.bar(parameter):
    """some more code goes here"""

b_wrapper.py

import some.package.module as module

def bar(parameter):
    return module.baz(veryImportantParameter, parameter)

file.py

def functionThree(par):  # needs to be overwritten
    """more functions called forwarding par as a parameter"""

def baz(veryImportantParameter, parameter)
    functionOne(veryImportantParameter, otherParameters)
    functionTwo(veryImportantParameter, someMoreParameters)
    functionThree(veryImportantParameter, parameterToChange, evenMoreParameters)

我试图做的是在包装文件中覆盖,但没有成功,因为其他功能正在干扰它。作为参考,使用了此post

我不确定这是否可行,因为在此模块内部调用了独特的功能,而且还在寻找不需要覆盖模块的替代部分的替代方案。

编辑:混合参数和参数是故意,仅用于演示目的。

0 个答案:

没有答案