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

use*_*037 5 python ipython

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

if __name__ == "__main__":  
    main()
Run Code Online (Sandbox Code Playgroud)

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

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

a=1
Run Code Online (Sandbox Code Playgroud)

然后从控制台轻松访问:

In [20]: a

Out[20]: 1
Run Code Online (Sandbox Code Playgroud)

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

kef*_*ich 3

main回报locals()

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

if __name__ == "__main__":
    locals().update(main())
Run Code Online (Sandbox Code Playgroud)

另请参阅使导入模块中的函数变量在 iPython 交互式命名空间中可用将函数变量转储到 python/ipython 中的工作区