1
我想知道如何使用IPython交互式命名空间中导入模块中的函数中的变量。在iPython交互式命名空间中使用导入模块中的函数变量
我有,我想,所以我将它设置为run_test.py从另一个脚本运行一些示例代码:
def run_test():
a = 5
if __name__ == "__main__":
run_test()
我导入模块如下,调用函数:
import run_test
run_test.run_test()
如何在交互式命名空间中使变量'a'可用?我能做到的唯一方法就是使'a'成为一个全局变量,并直接运行run_test.py而不是导入它并调用函数。
任何指针赞赏。
你不能 - 'a'是'run_test'内的局部变量,只要该函数结束就会被释放。如果你希望'a'在'run_test'之外可用,你需要*做出明确的*(例如''global'')。 – jonrsharpe 2015-02-10 13:06:38
谢谢@jonrsharpe这是有道理的。我想我需要单独运行脚本(execfile?),而不是将它合并到函数中。 – srossy 2015-02-10 13:40:20
你为什么要*能够访问'a'?如果在函数完成后需要该值,则返回它。 – jonrsharpe 2015-02-10 13:41:42