IPython Magic命令响应笔记本中的提示请求

时间:2020-06-10 04:49:07

标签: jupyter-notebook ipython jupyter google-colaboratory jupyter-lab

我最近遇到了一个问题,当我的代码有一个隐式的用户输入请求时,Jupiter笔记本无法处理它,并且内核一直保持运行状态,直到我手动中断它为止。如果我显式地使用inputread命令,内核将在单元格中运行时询问我用户输入,问题是命令需要输入而没有显式询问。

google colab可以毫无问题地处理这种情况,我正在寻找一个魔术命令来在Jupiter Notebook和jlab中执行相同的操作。 考虑下面的示例,该示例没有任何显式的输入或读取功能与之关联:

!touch something.txt
!rm -i something.txt

如果我在colab中运行此代码,将出现提示,询问我是否要删除something.txt。但是,如果我在jlab中运行相同的代码,内核将继续在该单元中运行,直到手动中断内核,我都没有任何提示或任何其他输出!

我已经知道我可以使用printf将输入答案传递给我的命令,但是我正在寻找一种方法,例如colab所做的那样,在运行时无需显式代码即可处理输入。因此,请为实现此目的建议一个特定的魔术,或者说明这种功能的工作方式,也许我可以为此魔术编写代码。

这个问题与issue有关。

0 个答案:

没有答案