我发现自己经常使用Python的解释器处理数据库、文件等——基本上是对半结构化数据进行大量手动格式化.我没有像我想的那样经常保存和清理有用的东西.有没有办法将我的输入保存到shell中(db连接、变量赋值、little for循环和逻辑位)——交互式会话的一些历史记录?如果我用script之类的东西,我会得到太多的标准噪音.我真的不需要对所有对象进行pickle处理——不过如果有一个解决方案可以做到这一点,那也没关系.理想情况下,我只需要留下一个脚本,作为我交互创建的脚本运行,我可以删除不需要的部分.有没有这样的套餐,或者DIY方式?

推荐答案

如果您喜欢使用交互式会话,IPython非常有用.例如,对于您的用例有the %save magic command,您只需输入%save my_useful_session 10-20 23来保存输入行10到20和23到my_useful_session.py(为了帮助实现这一点,每一行都带有其编号前缀).

此外,文档还说明:

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

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

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

查看the videos on the presentation page以快速了解这些功能.

Python相关问答推荐

如何加快 aiohttp 解析器 bs4?

如何在python中的多处理器之间进行竞赛

如何获取html表中每一行的特定列的值?

将字典转换为数据框

如何将列中的项目变为多列?

正则表达式.获取两个括号之间的字符串(python)

从嵌套 for 循环到字典理解?

在 __next__() 中修改之前返回对象

Python:如何将列表中以某个字母开头的元素复制到新列表中或从列表中删除不以字母开头的元素

Python:为什么 pip install 不从 sdist 部署我的代码?

如何创建字典来查找丢弃的零?

有没有一种好方法可以将 pandas 列多索引转换为列类别?

带有 APIRouter 插件系统的 FastAPI 无法正常工作

缺失值的插值不是 NA

Pandas 将功能应用于具有滑动窗口的多列

使用“iter”函数会消耗生成器吗?

如何在没有实例的情况下调用同一类的另一个方法?

如何通过在 Python Pandas 中使用子字符串和匹配列值来创建新数据框

如何制作一个新的 pandas 列,它是最后 3 个值的平均值?

为什么无分支编程和内置程序更慢?