我正在使用IPython Qt控制台,当我从Ipython复制代码时,就会出现这样的情况:
class notathing(object):
...:
...: def __init__(self):
...: pass
...:
有没有办法复制它们而没有那些领先的三点和双立方?
P.S。我在上下文菜单中尝试了Copy
和Copy Raw Text
,但它仍然是相同的。操作系统:Debian Linux 7.2(KDE)。
答案 0 :(得分:21)
如何在没有提示(包括续行)的情况下使用%hist n
打印行n
(或一系列行),并从中进行复制? (只需滚动回到该行几乎一样好。)
In [1]: def foo():
...: return 1+2
...:
In [6]: %history 1
def foo():
return 1+2
答案 1 :(得分:5)
ipython
的一个很酷的功能是session logging。如果启用它,则会话中输入的代码将记录到文件中。它非常有用,我一直都在使用它。
为了让事情变得更加轻松,我有一个shell别名ipy_log_cat
,它打印整个文件。您可以执行以下操作:ipy_log_cat | tail
以获取最新的输入行。 (这对grep
会话历史记录等也很有用。)您还可以通过将其汇总到xclip
来保存一些键盘/鼠标笔划!
答案 2 :(得分:3)
此QTconsole副本回归已修复,请参阅https://github.com/ipython/ipython/issues/3206 - 我可以确认在Canopy 1.2 GUI的QtConsole中再次出现所需的行为,我怀疑,免费用户可以安装ipython egg Enthought鸡蛋回购。
答案 3 :(得分:2)
这对你来说可能过于迂回,但你可以使用%save magic函数来保存有问题的行,然后从保存文件中复制它们。
答案 4 :(得分:1)
我倾向于为这种事情保留一个开放的gvim窗口。按原样粘贴您的类定义,然后执行以下操作:
:%s/^.*\.://