2012-10-08 61 views
17

我知道魔术IPython %paste命令,如果您有有效的代码插入,这是非常有用的。现在我不想插入代码,我只想从复制缓冲区中存储一些字符串作为变量。有没有更简单的方法来做到这一点,除了将字符串复制到单独的文本编辑器并先修改它?将一个字符串作为变量粘贴到IPython中

像这样的事情将是很好,但没有人正在努力:

strvar = %paste 
strvar = """%paste""" 

附:该字符串很冗长,并包含特殊的字符等,所以简单的ctrl-c只是创建垃圾和错误消息。

+0

我知道%paste的工作原理。这不是问题,我想知道你是否在阅读这个问题之前,在你低估它之前oO – Michael

+0

如果你打开三重引号,然后从剪贴板粘贴,就不应该有任何错误信息。 –

+2

不,这只是一个“%paste”作为字符串,而不是剪贴板。 – Michael

回答

27
%paste strvar 

为您提供了复制文本中行的列表。你可以做

strvar = '\n'.join(strvar) 

得到一个字符串中的文本。

+0

太棒了,谢谢! – Michael

+10

它实际上是一个特殊的列表子类 - 你可以通过'strvar.n'来获取换行符。同样''strvar.s'为空格分隔。 –