26

我正在使用 IPython Qt 控制台,当我从 Ipython 复制代码时,结果如下:

    class notathing(object):
        ...:
        ...:     def __init__(self):
        ...:         pass
        ...:

没有那些领先的三点和双冒号,有没有办法复制它们?

PS我在上下文菜单中都试过了CopyCopy Raw Text它仍然是一样的。操作系统:Debian Linux 7.2 (KDE)。

4

5 回答 5

47

如何在没有提示(包括续行)的情况下使用%hist n打印行n(或一系列行),并从中进行复制?(只需滚动回该行几乎一样好)。

In [1]: def foo():
   ...:     return 1+2
   ...: 

In [6]: %history 1
def foo():
    return 1+2
于 2013-12-31T21:52:12.290 回答
5

其中一个很酷的功能ipython会话记录。如果启用它,您在会话中输入的代码将记录到文件中。非常好用,我一直在用。

为了让事情对我来说更漂亮,我有一个 shell alias ipy_log_cat,它打印整个文件。您可以执行以下操作:ipy_log_cat | tail获取最新的输入行。(这对于greping 会话历史等也很有用)。您还可以通过管道将其保存到xclip!

于 2013-12-31T18:19:55.053 回答
4

此 QTconsole 复制回归已修复,请参阅https://github.com/ipython/ipython/issues/3206 - 我可以确认所需的行为再次出现在 Canopy 1.2 GUI 的 QtConsole 中,我怀疑在免费用户可以从 Enthought egg repo 安装 ipython egg。

于 2014-01-01T16:18:47.900 回答
2

这对你来说可能太迂回了,但你可以使用 %save 魔法函数来保存有问题的行,然后从保存文件中复制它们。

于 2013-12-31T13:49:23.600 回答
0

我倾向于为这类事情保留一个打开的 gvim 窗口。按原样粘贴您的类定义,然后执行以下操作:

:%s/^.*\.://
于 2013-12-31T14:01:27.670 回答