2017-02-20 195 views
0

我剛剛從R切換到Python,並發現Jupyter Qt控制檯非常方便,並且有助於逐行運行代碼。如何在QT Console python中保存代碼歷史記錄?

但我有一個問題:如何保存已輸入的代碼?我的意思是就像Rstudio一樣,左上角是代碼編輯器,左下角是控制檯窗口。因此,我可以全面瞭解我的代碼並逐行進行調試。

我試過Spyder(Rstudio like),但它在自動完成時有一些問題。 Qt控制檯要好得多。有沒有辦法將文本編輯器和qt控制檯合併到一個IDE中?

謝謝!

+0

這聽起來像你不知道'jupyter notebook'?只需在終端或命令行中鍵入它。您甚至可以保存筆記本電腦並一次全部運行。但是,這不是一個ide。你可能想要查看的是帶有[hydrogen package](https://atom.io/packages/hydrogen)的原子編輯器 – Quickbeam2k1

+0

感謝您的回覆!讓我試試看。 TKS! – jijijude

回答

0

從jupyter qtconsole您可以使用%save魔法來保存您的工作。這比我想要的更麻煩,因爲您必須指定要保存的輸入單元格,但仍然非常方便。

例如,通過7保存輸入單元2到名爲MyCommands.py文件,你只需鍵入

%save MyCommands.py 2-7 

這將文件保存在當前工作目錄。它甚至會警告你,並要求確認文件是否已經存在。

有關更多信息,請使用jupyter非常有用的內置幫助功能,方法是在需要幫助的項目後添加問號。

%save? 

它打印的文檔字符串

文檔字符串:保存一組線或宏給定的文件名。

用法:折節省[選項]文件名N1-N2 N3,N4 ... N5 .. N6 ...

選項:

-r:用 '原始' 的輸入。默認情況下,使用'已處理'歷史記錄,
,以便魔法在其轉換版本中加載爲有效的
Python。如果給出該選項,則會使用輸入爲
命令行的原始輸入。 -f:強制覆蓋。如果文件存在,除非給出-f,否則%save會提示覆蓋。

-a:附加到文件而不是覆蓋它。

該函數對輸入範圍使用與%history相同的語法,然後 將行保存爲您指定的文件名。

如果您自己不這樣做,它會爲文件添加一個'.py'擴展名,並且 要求在覆蓋現有文件之前進行確認。

如果使用-r選項,默認擴展名是.ipy。文件:
〜/ anaconda3/lib/python3.5/site-packages/IPython/core/magics/code。PY

注意,您可以使用問號調查與文檔字符串的任何功能或對象(即enumerate?range?)。