Переопределить метод модуля, из которого используется… 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. Работает только для импорта, но, как я уже писал, я не хочу менять код в модулях b.py и a.py.

Ответы на вопрос(1)

Ваш ответ на вопрос