Возможно, я не использую правильный термин, но я собираюсь взять блок кода Python (на Python), получить дерево токенов для кода, внести какие-то изменения и собрать его так, чтобыPython.
Например, рассмотрим этот блок кода:
def x(y):
b = 2
if y == b:
foo(y)
Я хотел бы иметь возможность взять это и программно сделать это:
def x(y):
b = 2
if y == b:
bar(y)
Iне могу представить, что нет библиотеки, которая делает что-то подобное.Заранее спасибо.
РЕДАКТИРОВАТЬ
Возможно, я не совсем понял.Я ищу инструмент для чтения и обработки произвольного кода, а не код, который я пишу.Я хотел бы иметь возможность изменять код на лету.Проект, над которым я работаю, представляет собой тестовое приложение: оно использует философию Netflix , чтобы попытаться произвольно нарушить функциональность приложения различными способами, каждый раз выполняя набор тестов.Когда тесты не проходят, есть признаки того, что в коде есть пробел и / или код мертв.