2017-02-20 197 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?)。