Функции трассировки, вызываемые в строках Python

Возможно ли в Python отслеживать и фильтровать функции, вызываемые в строках во время прогона программы? Я хочу добавить приложение sys.setdefaultencoding("utf-8"), и я хочу установить некоторые защитники для прогнозирования потенциальных проблем с неправильным использованием стандартных функций (например, len, например) для обработки таких строк.

Ответ 1

Вы можете заменить встроенное:

import __builtin__

real_len = __builtin__.len

def checked_len(s):
    ... do extra checks ...
    return real_len(s)

__builtin__.len = checked_len