在IPython控制台(Spyder)中,我可以在运行程序后从main()访问变量吗?

时间:2014-12-02 21:33:49

标签: python ipython

我正在使用IPython控制台运行我的代码。我有一个main()函数,执行如下:

if __name__ == "__main__":  
    main()

然后main()调用了许多其他函数,我不使用任何类。 我的问题是,在运行程序后,我可以在控制台中以交互方式打印或操作变量吗?

如果我没有main()或任何其他功能,例如我可以在我的代码中声明:

a=1

然后从控制台轻松访问:

In [20]: a

Out[20]: 1

如果您能帮助解决这个菜鸟问题,请提前感谢您。

1 个答案:

答案 0 :(得分:2)

main返回locals()

def main():
    # ...
    return locals()

if __name__ == "__main__":
    locals().update(main())

另请参阅Making function variables from imported module available in iPython interactive namespaceDump function variables to workspace in python/ipython