互动蟒蛇

时间:2009-07-25 00:38:50

标签: python

  

可能重复:
  How to save a Python interactive session?

当“脑力冲击”时,我可以将我输入的所有内容保存到python会话中吗?

例如,不仅仅是默认变量,当然甚至覆盖了shell。我当然是指调用实际的python可执行文件。

我真的希望这不是一个愚蠢的问题。

我当然也需要代表,所以这会对我有所启发。

4 个答案:

答案 0 :(得分:9)

iPython(正如另一个答案中所建议的)确实是一个很好的建议,但是如果你更喜欢好的旧的Python交互式解释器,那么在那里做它也不是太难。将环境变量PYTHONSTARTUP设置为指向包含的文件,例如:

import atexit
import readline
try:
    readline.read_history_file('.PythonHistory')
except OSError:
    pass
atexit.register(lambda: readline.write_history_file('.PythonHistory'))

这可以根据需要进行调整(例如,无论你从哪个目录开始加载和保存同一个文件),但我有点喜欢这个简单的版本,因为它很容易记住不同的“会话”在不同的工作目录中。

答案 1 :(得分:3)

不确定是否可以使用Python shell执行此操作。但是IPython可以提供更多功能:

答案 2 :(得分:2)

其他人(ars,Alex Martelli)直接回答了这个问题。对于我自己,我发现一个更有效的策略是将所有命令写入文本编辑器,并执行保存的脚本和/或复制并粘贴到python或ipython中。我发现我可以让自己更有条理。

答案 3 :(得分:0)

还有Bpython解释器:

http://www.bpython-interpreter.org/

这是包含保存代码甚至发送代码的功能列表 到一个pastebin服务。

  • 内嵌语法高亮显示。
  • 类似Readline的自动填充功能,在您输入时会显示建议。
  • 任何Python函数的预期参数列表。
  • “倒带”功能从内存中弹出最后一行代码并重新评估。
  • 将您输入的代码发送到pastebin。
  • 将您输入的代码保存到文件中。
  • 自动缩进。