非交互式Python命令历史记录

时间:2012-11-30 11:09:23

标签: python command backlog

我知道python解释器和ipython有一种简单的方法来浏览命令的历史。那就是交互式Python编程。

我的问题/疑问: 我有一个基于GUI的Python工具,允许我在点击“PLOT”按钮之前点击并输入字段中的值,然后我在屏幕上得到一个图。我正在寻找的是一种访问“最小脚本”的方法,该脚本可以精确地再现该图。

所以我想知道是否有办法请求一个不可交互的Python实例经历的所有命令的积压。

如果它不是内置的,那么有人可能会建议在文件运行的同时自动将函数调用转储到文件中。

1 个答案:

答案 0 :(得分:0)

最简单的方法是Pickle你的情节对象。然后你可以重新加载pickle文件,对象将在内存中,就像转储时一样。

在程序中实现转储和重新加载功能只需要几行。

这当然没有给你一个命令列表或类似的东西来重新生成图形,但它确实给你了对象的确切状态。

如果您使用matplotlib进行绘图,则image itself is not picklable。但是你可以创建一个类,其中包含你输入的所有信息,传递给matplotlib例程和pickle,再次保存状态。