python - 如何捕获基于 ipython 的 jupyter notebook 中打印的所有内容?
问题描述
在基于 ipython 的 jupyter notebook 中,我有一个打印一些东西的函数。我无法更改此功能,因为它来自库。让我们来
def print_something():
print("something")
举个例子。当我print_something()
在一个单元格中运行时,我想将单元格正在打印的任何内容保存在一个文件中。我怎么做?我尝试了%save
and %logstart
,但由于print
没有创建输出,他们没有做我想做的事。
解决方案
感谢评论,我在另一个问题中找到了答案:
%%capture cap --no-stderr
print_something()
with open('/path/to/capture.txt') as f:
f.write(cap.stdout)
文档:https ://ipython.readthedocs.io/en/stable/interactive/magics.html#cellmagic-capture
推荐阅读
- python - 如何使用牛顿或 L-BFGS 作为优化器?
- java - 如何避免使用break
- php - 在 php 中使用 xml 中的元素缩进值的多级数组?
- swift - 如何删除进度条圈中的 CAShapeLayer
- android - 从字符串文件定义清单中的权限,android?
- sql - 如何在 SQL 中执行 EVAL 表达式
- php - 有没有办法使用 php 对十六进制颜色进行分组
- android - 如何将 ListView 按钮拉伸到屏幕的全宽
- mysql - 创建两个表时mysql错误
- java - 如何读取文件并保存到 hashmap 中,然后将第一个元素保存为键,其余元素保存在一个集合中?