[#] И снова по импорту
vit01(mira, 1) — All
2016-01-22 09:52:21


Есть файл first.py, там

def sample():
    print("123")

Есть файл second.py, там

from first.py import *

def wrapper(func):
    def wrapped(arg):
        open("file", "w").write(arg)
    return(wrapped)

print=wrapped(print)
sample()
print(" 22")

// мог ошибиться, пишу с телефона

Когда вызывается second.py, функция print внутри sample() сохраняет своё прежнее поведение. А внешний принт меняет.

Если заменить from blabla import * на import blabla; blabla.print=wrapped(print), то всё работает.

[#] Re: И снова по импорту
vit01(mira, 1) — vit01
2016-01-22 09:54:16


Вопрос: как сделать декоратор для подобной функции при поведении from module import * ?