Если у меня есть функция (в Python 2.5.2), например:
def sample_func():
a = 78
b = range(5)
#c = a + b[2] - x
Мои вопросы:
- Как получить локальные переменные (a, b) функции извне без с помощью locals() внутри функции? (вид отражения)
- Можно ли установить локальную переменную (например, x) извне, чтобы работа с комментариями работала? (Я знаю, это звучит странно).
Спасибо заранее.
ИЗМЕНИТЬ
Каждый запрашивает прецедент. Но это странная ситуация. (Не обвиняйте меня, я не создал его). Вот сценарий:
- У меня есть зашифрованный исходный файл python, содержащий функцию python.
- Модуль расширения C расшифровывает его и создает эту функцию в памяти.
- Основная программа python сначала вызывает расширение C с зашифрованным расположением файла.
- Затем основная программа вызывает функцию, которая была встроена в память (с расширением C)
- Но основная программа должна знать локальные переменные этой функции (не спрашивайте меня, почему это было не я).
- По какой-то (чертовой) причине основная программа должна также установить переменную (самое странное)