我的虚拟环境中有一个包安装在它的
site-packages
文件夹中。
在该包中有一个具有许多功能的模块。我想在不接触包代码的情况下更改其中一个函数,因此我想对该模块进行挂钩,然后更改/覆盖该函数,使其按照我想要的方式运行。
我不知道这在 Python 中是否可行(我是该语言的新手)。
示例:
我的 site-packages 文件夹中有一个名为 Their_package 的包,里面有一个名为
whatever.py
的模块,其中包含以下代码:
import sys
import os
def this_is_a_function(parameter):
//whatever logic in here
return result
我想要的是挂钩
whatever.py
模块,这样我就可以重新定义 this_is_a_function
以获得不同的逻辑。这可能吗?我非常感谢代码示例!
您可以使用以下方式重新定义您的函数:
import whatever
def this_is_a_function(parameter):
pass
whatever.this_is_a_function = this_is_a_function