python - 包中的覆盖函数
问题描述
我有一个架构,我使用包装器从包模块中调用函数。在模块内部有一个调用另外三个的函数。我需要在运行时覆盖其中之一。正是我需要更改转发到另一组被调用函数的参数。
这是一个案例示例:
一个.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)
文件.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)
我试图做的是覆盖包装文件,但没有成功,因为其他功能正在干扰它。作为参考使用了这篇文章。
我不太确定这是可行的,因为在此模块中调用了独特的函数,并且还在寻找不需要覆盖模块部分的替代方案。
编辑:混合参数和参数仅用于演示目的。
解决方案
推荐阅读
- c# - LuisService 不会序列化 botframework V4 中 DateTimeV2 实体的所有分辨率值
- android - 从 iFrame / webview 获取事件到父级 - Ionic
- lua - 如何在水族馆/scrapy-splash 中加载 LUA 模块?
- react-native - 解决“TypeError:window.deltaUrlToBlobUrl 不是函数”
- protractor - 如何在表格中测试无限滚动?
- android - 尽管我已按照文档中的步骤操作,但地点选择器(Google 地图)会立即关闭
- javascript - 如何修复未显示在画布中的图像
- python - 在 Django 项目中定义设置
- html - 图像未从 html 角度引用
- c++ - 如何使用 g++ 获得 _logical_ 获取/释放障碍