在python中没有外部函数的交互获取内部函数结果

时间:2015-02-10 09:03:45

标签: python exec

  • 我想得到内部函数结果,所以我把它编码为

     def main():
       def sub():
          a = 1
          print a
     exec main.__code__.co_consts[1]
    
  • 使用上面的代码成功运行,但我想将参数传递给sub函数,如...

    def main():
      def sub(x):
         a = x + 1
         return a
    ans = exec main.__code__.co_consts[1]
    print ans
    
  • 该问题是我不知道如何传递x值。

  • 该作品必须exec,以便在没有x功能
  • 互动的情况下,如何将exec值与main一起传递

1 个答案:

答案 0 :(得分:1)

可能类似下面的代码,如this SO answer

所示
def main():
    def sub():
        a = x + 1
        print a
        return a
exec(main.__code__.co_consts[1], {'x': 1} )