Вы можете определить функцию print
, которая сначала печатает ваш префикс, а затем внутренне вызывает встроенную функцию print
. Вы даже можете настроить свою пользовательскую функцию print()
для просмотра стека вызовов и, соответственно, определить, сколько пробелов использовать в качестве префикса:
import builtins
import traceback
def print(*objs, **kwargs):
my_prefix = len(traceback.format_stack())*" "
builtins.print(my_prefix, *objs, **kwargs)
Проверьте это:
def func_f():
print("Printing from func_f")
func_g()
def func_g():
print ("Printing from func_g")
func_f()
Выход:
Printing from func_f
Printing from func_g
Возврат к встроенной функции print()
:
Когда вы закончите с пользовательской печатью и хотите начать использовать встроенную функцию print()
, просто используйте del
, чтобы «удалить» собственное определение печати:
del print