2011-04-21 35 views
15

用管在Linux終端,當一個命令的輸出是太長,在一個頁面上閱讀,我可以做到這一點:如何在IPython的

cat file | less 

,這樣我可以閱讀和上下滾動「cat file」的輸出

我該如何在ipython中做到這一點?

例如: 我想這和它沒有工作:

whos | less 

我原來的問題是,從衛生組織輸出太多做Shift +向上翻頁可以看到,我不想改變滾動緩衝

感謝

+2

您好,首先感謝您回答我的問題,但也許我沒有正確表達自己,但人們似乎沒有明白我的問題。我的問題可以簡單地寫成這樣:你如何在ipython中做到這一點:whos |減 ? – osager 2011-04-21 12:06:40

回答

19

在IPython中,你可以使用%page obj表明目的obj使用標準pager(通常less)。或者,您可以增加終端的滾動緩衝區,這在任何情況下都可能很方便。

%page obj - 類似於使用尋呼機IPython的默認顯示(再版樣),顯示對象,如果輸出大小需要

%page -r obj - 顯示對象類似打印,使用尋呼機如果尺寸需要

%page只能取一個普通的名稱或屬性引用。它無法計算任意表達式,但您可以使用一個臨時變量來解決此limitationL

tmp = ex * pr + ess - ion 
%page tmp 
+0

嗨,感謝您的回覆。我聽說增加滾動緩衝區。但這不是我要找的。我想在ipython中使用命令「less」來查看%whos的輸出。無論如何你知道這麼做嗎? – osager 2011-04-21 07:38:40

+0

@osager:是的,我知道一種方式。請再次閱讀我的答案。 – 2011-04-21 07:45:21

+1

對不起,我再讀一遍,我沒有明白。我試過「%page%whos」沒有用;我嘗試了=%whos,%page out沒有工作要麼 – osager 2011-04-21 10:22:39

2

使用尋呼機的應該是自動的。

manual

爲了更少的配置爲您的默認尋呼機,請執行以下操作:

  1. 設置環境變量PAGER少。
  2. 將環境LESS變量設置爲-r(加上默認情況下您希望傳遞給其他選項的任何其他選項)。這不足以正確地解釋控制序列,這就是顏色信息如何提供給您的終端。

對於bash shell,添加到你的〜/。在.bashrc文件中的行:

export PAGER=less 
export LESS=-r 
+1

嗨,首先感謝回答我的問題,但也許我沒有正確表達自己,但人們似乎不明白我的問題。我的問題可以簡單地寫成這樣:你如何在ipython中做到這一點:whos |減 ? – osager 2011-04-21 12:07:36

+1

@osager:[此消息](http://mail.scipy.org/pipermail/ipython-user/2011-February/007384.html)在ipython列表中似乎表明您要求的功能是不支持。這聽起來像你有一個[XY問題](http://www.perlmonks.org/index.pl?node_id=542341),其中Y是不可能的,所以你得到的解決方案是試圖解決X(你的更大的圖片問題)。 – bstpierre 2011-04-21 12:23:02

+0

@osager:如果你真的想要輸出'whos',你應該執行'psource whos'來轉儲這個魔術函數的源代碼,並且可以成爲你編寫自己的函數的起點,它完全符合你的需求。 – bstpierre 2011-04-21 12:26:10