【问题标题】:how to save codes history in QT Console python?如何在 QT Console python 中保存代码历史记录?
【发布时间】:2017-02-20 08:35:49
【问题描述】:

我刚从 R 切换到 Python,发现 Jupyter Qt 控制台非常方便,对逐行运行代码很有帮助。

但是我有一个问题:如何保存已经输入的代码?我的意思是就像 Rstudio 一样,左上角是代码编辑器,左下角是控制台窗口。这样我就可以全面了解我的代码并逐行调试它们。

我尝试过 Spyder(类似 Rstudio),但它在自动完成方面存在一些问题。 Qt 控制台要好得多。有没有办法将文本编辑器和 qt 控制台组合到一个 IDE 中?

谢谢!

【问题讨论】:

  • 你好像不知道jupyter notebook?只需在终端或命令行中键入它。您甚至可以保存笔记本并一次性运行它们。但是,这不是一个 ide。您可能想查看的是带有hydrogen package 的原子编辑器
  • 感谢您的回复!让我试一试。谢了!

标签: python ipython jupyter qtconsole


【解决方案1】:

在 jupyter qtconsole 中,您可以使用 %save 魔法来保存您的工作。它比我想要的更麻烦,因为您必须指定要保存的输入单元格,但仍然非常方便。

例如,要将输入单元格 2 到 7 保存到名为 MyCommands.py 的文件中,您只需键入

%save MyCommands.py 2-7

这会将文件保存在您当前的工作目录中。它甚至会警告您并要求您确认文件是否已存在。

有关更多信息,请使用 jupyter 极其有用的内置帮助功能,方法是在您需要帮助的项目后添加问号。

%save?

打印文档字符串

Docstring:将一组行或一个宏保存到给定的文件名。

用法:%save [options] 文件名 n1-n2 n3-n4 ... n5 .. n6 ...

选项:

-r:使用“原始”输入。默认情况下,使用“已处理”历史记录,
以便魔法在其转换后的版本中加载为有效
Python。如果给出此选项,则原始输入类型为
而是使用命令行。 -f:强制覆盖。如果文件存在,%save 将提示覆盖,除非给出 -f。

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

这个函数对输入范围使用与 %history 相同的语法,然后 将行保存为您指定的文件名。

如果您自己不这样做,它会在文件中添加“.py”扩展名,并且 它在覆盖现有文件之前要求确认。

如果使用-r 选项,则默认扩展名是.ipy。文件:
~/anaconda3/lib/python3.5/site-packages/IPython/core/magics/code.py

请注意,您可以使用问号来调查任何带有文档字符串的函数或对象(即enumerate?range?)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-06
    • 1970-01-01
    • 2011-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-11
    相关资源
    最近更新 更多