如果我有一个函数(在Python 2.5.2中)如下:
def sample_func():
a = 78
b = range(5)
#c = a + b[2] - x
我的问题如下:
- 如何在外部获取函数的本地变量(a,b),而不使用函数内部的locals()?(类似反射)
- 是否可以从外部设置一个本地变量(比如x),使得注释行起作用?(我知道听起来很奇怪)
提前感谢。
编辑:
每个人都在问用例。但这是一个奇怪的情况。(别怪我,我没创造它)。以下是场景:
- 我有一个包含Python函数的加密源代码文件。
- C扩展模块对其进行解密并在内存中构建该函数。
- 主Python程序首先使用该加密文件位置调用C扩展程序。
- 然后主程序调用已在内存中构建的函数(由C扩展程序构建)
- 但主程序需要知道该函数的本地变量(不要问我为什么,不是我)
- 由于某种(可恶)原因,主程序还需要设置一个变量(最奇怪的是)
func_code
е·Із»Ҹжӣҙж–°дёә__code__
гҖӮ - Jacqueline P.