我最近遇到了一个问题,当我的代码有一个隐式的用户输入请求时,Jupiter笔记本无法处理它,并且内核一直保持运行状态,直到我手动中断它为止。如果我显式地使用input
或read
命令,内核将在单元格中运行时询问我用户输入,问题是命令需要输入而没有显式询问。
google colab可以毫无问题地处理这种情况,我正在寻找一个魔术命令来在Jupiter Notebook和jlab中执行相同的操作。 考虑下面的示例,该示例没有任何显式的输入或读取功能与之关联:
!touch something.txt
!rm -i something.txt
如果我在colab中运行此代码,将出现提示,询问我是否要删除something.txt
。但是,如果我在jlab中运行相同的代码,内核将继续在该单元中运行,直到手动中断内核,我都没有任何提示或任何其他输出!
我已经知道我可以使用printf
将输入答案传递给我的命令,但是我正在寻找一种方法,例如colab所做的那样,在运行时无需显式代码即可处理输入。因此,请为实现此目的建议一个特定的魔术,或者说明这种功能的工作方式,也许我可以为此魔术编写代码。
这个问题与issue有关。