如何测量单元格的时间并将输出写入 Jupyter 中的文件?

How to measure time of a cell and write the output to a file in Jupyter?

我想测量一个单元格的时间并将同一单元格的输出写入 Jupiter 中的一个文件。我尝试了以下方法:

%%time
%%capture cap
-- My code --
with open('output.txt', 'w') as f:
    f.write(cap.stdout)

但是,我得到了 NameError: name 'cap' is not defined。我认为每个功能都需要位于单元格的顶部。我该如何克服这个问题?

你试过 运行 那些在不同细胞中的吗?

第一个单元格:

%%time
%%capture cap
-- your code that generates standard out while it runs --

该单元下方的第二个单元格:

with open('output.txt', 'w') as f:
    f.write(cap.stdout)

您会看到第一个单元格运行时报告的时间。您可以将输出发送到第二个文件中。我担心你还不能使用 cap.stdout 的同一个牢房;然而,我刚刚测试了 ,你写的应该可以工作 。您是否尝试过在新笔记本中测试更简单的东西。也许你只是有一个错字?我使用 ls -lah!ls -lah 代替 --My code-- 部分进行测试。