交互式 Python

1 投票
4 回答
916 浏览
提问于 2025-04-15 13:08

可能重复的问题:
如何保存一个Python交互式会话?

我可以在“头脑风暴”时保存我在Python会话中输入的所有内容吗?

比如说,不仅仅是默认的变量,当然还包括覆盖命令行的内容。我说的当然是通过调用实际的Python可执行文件来实现。

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

我当然也需要一些声望,所以这让我有点紧张。

4 个回答

2

其他人(比如ars和Alex Martelli)已经直接回答了这个问题。对我来说,我发现一个更有效的办法是把所有的命令写到一个文本编辑器里,然后执行保存的脚本,或者直接复制粘贴到python或ipython中。我觉得这样能让我更有条理。

3

不太确定你能否在Python的命令行中做到这一点。不过在IPython中是可以的,IPython提供了更多的功能:

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'))

你可以根据自己的需要调整这个文件(例如,无论你从哪个目录开始,都可以加载和保存同一个文件),不过我个人觉得这个简单的版本挺好的,因为它让你在不同的工作目录中很容易记住不同的“会话”。

撰写回答