外部文件中的Python重新分配功能
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了外部文件中的Python重新分配功能相关的知识,希望对你有一定的参考价值。
想象一下,我从Python包中导入了一个名为main_func()
的函数,该函数调用了在该包的同一文件中定义的另一个函数called_func()
。
现在,在我的个人脚本中,我想呼叫main_func()
。但有一点不同,当我运行此main_func()
时,我希望它调用我个人修改的版本called_func()
。此功能的修改版本在我的个人脚本文件中定义。
我该怎么做?
示例:]
来自程序包的脚本,名为package / functions.py
def main_func(a):
return called_func(a)
def called_func(a):
print(a)
个人脚本
from package.functions import main_func
def called_func(a):
# My personally modified function
print(a, a)
main_func('Test ')
如果运行脚本,将得到此输出Test
。
但是,我想获得Test Test
注意:我无法修改软件包文件...
答案
您可以monkey patch
您的功能到模块中
monkey patch
礼物
import package.functions
def called_func(a):
# your modified function
print(a, a)
package.functions.called_func = called_func
main_func("Test ")
以上是关于外部文件中的Python重新分配功能的主要内容,如果未能解决你的问题,请参考以下文章
html 将以编程方式附加外部脚本文件的javascript代码片段,并按顺序排列。用于响应式网站,其中ma