Python:通过在被调用函数中检查查找for循环变量

Python:通过在被调用函数中检查查找for循环变量,python,introspection,Python,Introspection,有没有一种方法可以在python中实现以下内容: def print_loop_var(): loop_var = fn_inspect_frame_stack() print "The loop variable is: %s" % loop_var for k in mylist1: print_loop_var() for m in mylist2: print_loop_var() 输出: The loop variable is: k

有没有一种方法可以在python中实现以下内容:

def print_loop_var():
    loop_var = fn_inspect_frame_stack()
    print "The loop variable is: %s" % loop_var

for k in mylist1:
    print_loop_var()
    for m in mylist2:
        print_loop_var()
输出:

The loop variable is: k
The loop variable is: m
The loop variable is: m
...
The loop variable is: k
The loop variable is: m
The loop variable is: m
...
对于我的应用程序,我无法将参数传递给
print\u loop\u var()


除了名称之外,我也很乐意看到变量的内容。

只要curius,为什么不能将参数传递给该函数?@DanielSanchez我想定义一个Mako默认过滤器,该过滤器在特定代码生成应用程序中使用最顶层的循环变量。
print\u loop\u var
如何知道其调用者中循环变量的名称?这是非常严格的。。。“如果你叫我,你必须在你的作用域中有一个名为
m
”的变量???@donkopotamus“如果你叫我,你必须在你的作用域中有一个名为
m
”的变量-否:
print\u loop\u var
必须通过内省或类似方法找到名称
m
m
可以有任何其他名称@所以你希望有一个隐含的契约“如果你打电话给我,你一定是从循环内部打电话给我的?”