如何将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

目录
相关文章
|
监控 网络协议 Ubuntu
Linux网络监控工具 - iftop
Linux网络监控工具 - iftop
875 1
|
7月前
|
人工智能 JSON 前端开发
AI大模型应用APP的开发
2026年AI应用已迈入“Agent驱动”时代。本指南详解大模型APP开发实战:端云协同(Core ML/ExecuTorch + DeepSeek/GPT-4o)、流式多模态UI、本地RAG、函数调用插件、智能离线切换,及LAM与语音原生新趋势。(239字)
|
8月前
|
人工智能 JSON 自然语言处理
【2026最新最全】一篇文章带你学会Qoder编辑器
Qoder是一款面向程序员的AI编程助手,集智能补全、对话式编程、项目级理解、任务模式与规则驱动于一体,支持模型分级选择与CLI命令行操作,可自动生成文档、优化提示词,提升开发效率。
13939 10
【2026最新最全】一篇文章带你学会Qoder编辑器
|
7月前
|
人工智能 JavaScript API
opencode 安装 -> 使用
OpenCode 是一款开源AI编程助手,支持智能代码生成与文件操作。需先安装Node.js(推荐v22),再通过scoop或npm全局安装。启动后可切换build/plan双模式,支持自定义API模型、多会话、对话导出与分享等功能。(239字)
9149 13
|
Python
Jupyter Notebook又一利器nbterm,在终端玩notebook!
Jupyter Notebook又一利器nbterm,在终端玩notebook!
611 4
|
Ubuntu Python
全网最简约的Vscode配置Anaconda环境(百分百成功)
全网最简约的Vscode配置Anaconda环境(百分百成功)
39979 0
全网最简约的Vscode配置Anaconda环境(百分百成功)
|
Unix Linux 开发工具
Linux 命令 `ctags`:代码导航的利器
`ctags` 是一款Unix工具,用于生成代码标签,方便在Vim、Emacs等编辑器中快速跳转到函数、变量定义。在Linux上,可通过包管理器安装。使用`ctags -R`生成`tags`文件,然后在Vim中用`Ctrl+]`跳转,`Ctrl+T`返回。Emacs则使用`M-.`和`M-,`。`ctags`可自定义语言映射和排除规则,是提升编程效率的利器。
|
存储 Ubuntu 搜索推荐
构建多用户的 Jupyter 服务器 —— 利用 JupyterHub
【8月更文第29天】**摘要** JupyterHub 是一个易于使用的、可伸缩的、多用户的 Jupyter Notebook 服务器。它允许您在一个集中式服务器上托管多个独立的 Jupyter Notebook 会话,非常适合团队协作和教学环境。本文将详细介绍如何安装和配置 JupyterHub,以及如何利用它来构建一个多用户 Jupyter 服务器环境。
6121 0
|
机器学习/深度学习 Python
Python应用专题 | 23:Pandas中两个dataframe的交集和差集
如何求Pandas中两个dataframe的交集和差集?
|
分布式计算 DataWorks TensorFlow
MaxCompute Mars 完全指南
Mars 能利用并行和分布式技术,加速 Python 数据科学栈,包括 numpy、pandas 和 scikit-learn。同时,也能轻松与 TensorFlow、PyTorch 和 XGBoost 集成。
4768 0

热门文章

最新文章