我发现自己经常使用Python的解释器来处理数据库,文件等 - 基本上是大量的半结构化数据的手动格式化。 我没有像我希望的那样经常保存和清理有用的位。 有没有办法将我的输入保存到shell(数据库连接,变量赋值,少量循环和逻辑位) - 交互式会话的一些历史记录? 如果我使用类似script
东西,我会得到太多的噪音。 我真的不需要腌制所有对象 - 但如果有一个解决方案可以做到这一点,那就没关系。 理想情况下,我只剩下一个脚本,它以我交互式创建的脚本运行,我可以删除我不需要的位。 有没有这样做的包,或DIY方法?
更新 :我对这些包的质量和实用性感到非常惊讶。 对于那些有类似痒的人:
- IPython - 应该已经使用了很多年了,我想到的是什么
- 重新进行 - 非常令人印象深刻,我想了解更多有关可视化的知识,这似乎会在那里发光。 一种gtk / gnome桌面应用程序,用于内嵌图形。 想象一下混合壳+图形计算器+迷你蚀。 来源分布在这里: http : //www.reinteract.org/trac/wiki/GettingIt 。 在Ubuntu上运行良好,也集成到gnome桌面,Windows和Mac安装程序中。
- bpython - 非常酷,很多不错的功能,自动完成(!),倒带,一键击保存到文件,缩进,做得好。 Python源代码分发,从sourceforge中提取了几个依赖项。
我被转换了,这些真正填补了翻译和编辑之间的需要。
#1楼
只是把另一个暗示放在碗里: Spyder
它有历史记录日志和变量浏览器 。 如果您使用过MatLab,那么您将看到相似之处。
#2楼
还有另一个选择--- pyslice。 在“wxpython 2.8 docs演示和工具”中,有一个名为“pyslices”的开源程序。
你可以像编辑一样使用它,它也支持像控制台一样使用----像交互式解释器一样执行每一行,并立即回显。
当然,每个块的所有代码块和结果都将自动记录到txt文件中。
结果记录在相应的代码块后面。 很方便。
#3楼
我不得不努力寻找答案,我对iPython环境很新。
这会奏效
如果您的iPython会话看起来像这样
In [1] : import numpy as np
....
In [135]: counter=collections.Counter(mapusercluster[3])
In [136]: counter
Out[136]: Counter({2: 700, 0: 351, 1: 233})
您希望保存从1到135的行,然后在同一个ipython会话中使用此命令
In [137]: %save test.py 1-135
这将保存当前目录(启动ipython的地方)中test.py文件中的所有python语句。
#4楼
安装Ipython之后 ,通过运行命令打开Ipython会话:
ipython
从命令行,只需运行以下Ipython'magic'命令即可自动记录整个Ipython会话:
%logstart
这将创建一个唯一命名的.py文件并存储您的会话,以便以后用作交互式Ipython会话或用于您选择的脚本。
#5楼
如果您正在使用IPython,您可以使用带有-f参数pe的魔术函数%history将所有以前的命令保存到文件中:
%history -f /tmp/history.py
来源:oschina
链接:https://my.oschina.net/stackoom/blog/3164093