如何保存/复制我在python解释器中编写的类和函数?

Ada*_*ris 2 python

如何将您在python交互式会话中编写的函数/类保存到文件中?具体来说,pydev/eclipse的交互式会话(在mac上)有没有办法做到这一点?

我刚开始学习python - 我很高兴使用解释器的交互式会话来测试和玩我编写的模块.但是,我发现自己在解释器中编写函数,我认为,将它保存到我的脚本文件中会很酷.我该怎么做呢?

我试过了:

import pickle
pickle.dump(my_function, open("output.p", "w"))
Run Code Online (Sandbox Code Playgroud)

但它似乎更像是二进制序列化,或者至少我没有任何东西可以复制并粘贴到我的代码中......

有没有办法看到我在解释器中定义的类和函数背后的代码?然后将它们从解释器中复制出来?

更新:

好的,这是我到目前为止所学到的:

  • 我错过了最简单的方法 - 在Eclipse中PyDev的交互式会话允许您右键单击并保存会话.仍然需要删除>>>,但完成工作.
  • IPython显然是要做到这一点的方法.
  • 如何保存Python交互式会话?有更多细节.

Bin*_*ile 5

在我看来,交互式编码会话的最佳环境必须是IPython.它基于并扩展了基本的Python解释器,具有很多魔力,包括历史.例如,您可以发出命令%logstart以将所有后续输入转储到文件中,该文件在成为脚本之前仍然需要进行编辑,但是您可以使用它.

安装IPython时,不要忘记pyreadline.

但是,一般情况下,最好在IDE中编写代码然后运行它.IPython也有帮助.如果您编写并保存脚本,然后使用IPython"run"命令运行它,脚本的整个全局命名空间将可用于您的IPython会话中的检查.此外,您可以使用-d参数运行以立即在任何未处理的异常上触发pdb调试器.

如果你更像是一个直接的IDE和调试器类型的人,那么最简单和最好的轻量级环境必须是PyScripter.