小编典典

如何保存 Python 交互式会话?

all

我发现自己经常使用 Python
的解释器来处理数据库、文件等——基本上是对半结构化数据进行大量手动格式化。我没有像我想的那样经常正确地保存和清理有用的位。有没有办法将我的输入保存到
shell 中(db 连接、变量分配、很少的 for
循环和一些逻辑)——交互式会话的一些历史记录?如果我使用类似的东西,script我会得到太多的标准输出噪音。我真的不需要腌制所有的对象——尽管如果有一个解决方案可以做到这一点,那就没问题了。理想情况下,我只剩下一个脚本,该脚本作为我以交互方式创建的脚本运行,我可以删除不需要的位。有没有这样的包,或者DIY方法?


阅读 124

收藏
2022-03-17

共1个答案

小编典典

如果您喜欢使用交互式会话,
IPython
非常有用。例如,对于您的用例,有一个%save魔术命令,您只需输入%save my_useful_session 10-20 23以将输入的第 10 到 20 行和第 23
行保存到my_useful_session.py(为了帮助解决这个问题,每一行都以它的编号为前缀)。

此外,文档指出:

此函数对输入范围使用与%history相同的语法,然后将行保存到您指定的文件名。

例如,这允许引用较旧的会话,例如

%save current_session ~0/
%save previous_session ~1/

查看演示页面上的视频以快速了解这些功能。

2022-03-17