如何将IPython的历史记录导出到.py文件中?

简介: 笔记

你好,我是悦创。


博客首发:https://www.aiyc.top/1907.html


经常给一对一学员上课的时候,会用到 IPython 来演示代码,毕竟 IPython 不用不知道,一用根本停不下来。我都不想用 Pycharm 来调试代码了。


但是,用了这么久,一直惯性思维回答编程一对一学员: IPython 的优点是我刚刚说的这些,但是就是代码保存不了。


很多人问我,我也一直是这个想法并且做的非常彻底去回答。但是,今天一个学员,学计算机专业的在伯克利,上课后问我:老师,IPython 真的不能保留「保存」代码?


我说是的!非常肯定的回答,一直都是这个回答的不会有错!但是,当听见这句话的时候,我惊呆了:从来如此就是对的吗?


那一瞬间,好像有什么东西破碎一般,所有自我的矇昧体现了出来。我想起了柴静的《看见》中的一句话:要想“看见”,就要从蒙昧中睁开眼来。这才是最困难的地方,因为蒙昧就是我自身,像石头一样成了心里的坝。


然后我就去找了一下,然后就有了下面的小笔记:


回到上面的问题, 两种办法解决:


1.用 %hist 保存后把 % 开头的删掉再执行。

17.png



2.用 %logstart%logstop 。它会把你所用的 % 命令对应的的 Python 代码(如下面的 magic…)。

18.png


3.例如,对于你的用例,有 %save magic command 你只需输入%save my_useful_session 10-20 23保存输入行 10 至 20 和 23 到 my_useful_session.py


如果你的 IPython 会话如下所示

19.png

你希望将行从 1 保存到 135,然后在同一个 IPython 会话上使用以下命令

20.png

这将所有 Python 语句保存在当前目录(启动 IPython 的位置)中的 aiyc.py 文件中。

此外,文件指出:

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

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

21.png

目录
相关文章
|
30天前
|
Python
Python批量自动处理文件夹
Python批量自动处理文件夹
Python批量自动处理文件夹
|
3月前
|
Python
像导入Python模块一样导入ipynb文件
像导入Python模块一样导入ipynb文件
|
6月前
|
开发者
Cmake库导入脚本:使用 CMakeLists.txt 创建自定义的库导入脚本
Cmake库导入脚本:使用 CMakeLists.txt 创建自定义的库导入脚本
75 2
|
算法 数据处理 Python
python ——批量读取相同格式文件(多个文件夹/单个文件夹)---nc文件为例
在处理多个相同格式的文件时,python中的许多模块可以为我们提供很多遍历。 比如,我们想读取一个文件夹下多个相同格式的文件时 可以使用os模块,
python ——批量读取相同格式文件(多个文件夹/单个文件夹)---nc文件为例
|
存储 编解码 数据可视化
如何通过Python打开GSMap数据集(解决.dat无法打开的问题)?
如何通过Python打开GSMap数据集(解决.dat无法打开的问题)?
283 0
|
数据采集 JavaScript 数据安全/隐私保护
不要随意更改subprocess.py文件
不要随意更改subprocess.py文件
60 0
|
编解码 Python
Geany导入带有中文字符的.py文件然后执行报错解决办法
Geany导入带有中文字符的.py文件然后执行报错解决办法
201 0
Geany导入带有中文字符的.py文件然后执行报错解决办法
|
数据采集 Shell 开发工具
[oeasy]python0028_直接运行_修改py文件执行权限_设置py文件打开方式
[oeasy]python0028_直接运行_修改py文件执行权限_设置py文件打开方式
91 0
[oeasy]python0028_直接运行_修改py文件执行权限_设置py文件打开方式
|
XML 存储 移动开发
02-PDI(Kettle)导入与导出(上)
文章目录 02-PDI(Kettle)导入与导出 多个excel表格数据的合并 实验步骤: 拓展 Excel介绍 基于文本的数据导入与导出
02-PDI(Kettle)导入与导出(上)