关于ipython保存历史的问题

header_zj 2016-08-11 09:16:53
最近在用ipython作为交互式shell学习科学计算,有一个让我烦恼的问题就是,在前一天关闭了ipython的时候,第二天就无法使用已经定义过的变量了,虽然可以通过上箭头键上翻找到历史命令,但是通过这样找到历史变量的定义太麻烦了。

——————————————————————————————————————————————————
于是,我用了
Input[1]:%hist -f 'filename.py'

保存了一个python文件

用IDLE打开内容是这样的

我试图通过ipython中通过%run来运行这个py文件来把历史导入名字空间中,但是出现了这样

不知道该怎么办

————————————————————————————————————————————————
PS:有没有什么命令可以让我知道这个名字空间中所有定义过的变量
...全文
1097 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
panghuhu250 2016-08-14
  • 打赏
  • 举报
回复
两种办法: 1. 用%hist保存后把%开头的删掉再执行。 2. 用%logstart和%logstop。它会把你所用的%命令对应的的python代码(如下面的magic...)。

In [7]: %logstart /tmp/test_log.py
Activating auto-logging. Current session state plus future input saved.
Filename       : /tmp/test_log.py
Mode           : backup
Output logging : False
Raw input log  : False
Timestamping   : False
State          : active

In [8]: a = 10

In [9]: b = a*a

In [10]: %who
a        b       

In [11]: %logstop

In [12]: !cat /tmp/test_log.py
# IPython log file

357x46
357*46
54*32
53*42
52*43
532*4
get_ipython().magic(u'logstart /tmp/test_log.py')
a = 10
b = a*a
get_ipython().magic(u'who')
get_ipython().magic(u'logstop')

sprawling 2016-08-11
  • 打赏
  • 举报
回复
只回答你最后那个问题 who

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧