2013-08-28 64 views
3

短IPython的筆記本電池:管理stdout和標準輸入在IPython的筆記本

%%bash  
read value 
5 
echo "Value: $value" 

輸出該單元是Value: 5 可以交互地引入值使用IPython的筆記本嗎?

如果我現在嘗試運行此:

%%bash 
ssh [email protected] pwd 

,因爲是第一次嘗試連接到host,SSH啓動問題:

Are you sure you want to continue connecting (yes/no)?

但這個問題被印刷我開始使用ipython筆記本的外殼,而不是筆記本本身。在這裏,我可以在shell中寫出答案。

可以顯示輸出,還可以通過筆記本的Web界面介紹我的答案?

+0

不,目前您無法與筆記本電腦的子流程進行交互。這裏有一個問題,開放的,但它不是一件容易的事情來解決:https://github.com/ipython/ipython/issues/514 –

回答

0

這是筆記本的一個令人沮喪的方面,但有一個(現在合併)pull request提供在筆記本中執行交互式stdin的能力。爲了使用這個,你必須安裝我認爲的master分支。

+0

您可以使用Python的'輸入()'/'的raw_input()'函數請求輸入,但它不知道子進程何時等待輸入,所以在這種情況下它不會提示你。 –

+0

在IPython中0.13.1至少,如果你嘗試調用的raw_input'拋出一個異常()'使用筆記本前端時,因爲它不支持。 –

+0

如果您升級到IPython 1.x,'raw_input()'將在筆記本中工作。但它只是Python的調用,一般不會讀取stdin。 –