Судя по вашим комментариям, вы заинтересованы в безопасном способе выполнения ненадежного кода.
Повторное определение встроенных Python, как вы предложили в комментарии, является ужасным способом защиты кода.
Вам нужна песочница, есть решения для python, но я бы их не рекомендовал. Вам было бы намного лучше использовать Jython или IronPython, потому что JVM и .NET clr были разработаны с учетом песочницы.
Лично я считаю, что в большинстве случаев, если вам нужно выполнить ненадежный код, вы слишком или совсем не доверяете своим пользователям.