我无法重写使用from…import语句的方法。举例说明问题:# a.py module
def print_message(msg):
print(msg)
# b.py module
from a import print_message
def execute():
print_message("Hello")
# c.py module which will be executed
import b
b.execute()
我想重写print_message(msg)方法,而不更改a或b模块中的代码。我尝试了很多方法,但从…导入原始方法。当我把代码改成import a
a.print_message
我看不到我的零钱。
你能建议我怎么解决这个问题吗?
提前谢谢你举的任何一个小例子。
致意
更新日期
我试着这样做,例如:# c.py module
import b
import a
import sys
def new_print_message(msg):
print("New content")
module = sys.modules["a"]
module.print_message = new_print_message
sys.module["a"] = module
但在我使用for…import语句的地方这不起作用。只适用于导入a,但正如我所写的,我不希望更改b.py和a.py模块中的代码。