2011-05-24 67 views
0

我在阅读文本的终端与
description = raw_input()
,如果我写的文字,然后按回车它的工作原理。问题是我从Ctrl+Shift+Vright click + paste粘贴文本。我的程序立即结束,description只包含部分文本(我可以在数据库中看到它)。您是否知道paste的工作原理?我在Ubuntu中使用xfce4-terminal问题与阅读文字粘贴在终端

谢谢

回答

1

试试这个,从谷歌搜索中解除它。粘贴后必须输入3个空白行,但当然,如果粘贴中有3个空白行,则无法工作。这个概念虽然存在,但你只需要选择一个结束控制字符。感谢这些家伙的意见。

print "paste quote:" 
emptycount = 0 
lines = [] 

while emptycount < 2: 
    t = raw_input() 
    if len(t) == 0: 
     emptycount +=1 
    else: 
     emptycount=0 
     lines.append(t) 
     lines.append("\n") 

print " ".join(lines[:-1]) 
+0

不错的代码纠正它。不应该是'线[: - 2]'? – xralf 2011-05-24 19:33:34

+0

@xralf:这一切都取决于您粘贴的文本包含多少嵌入换行符。 – 2011-05-24 19:35:33

+0

@Ignacio我认为,在'lines'列表中循环后,最终会有两个'\ n',但我现在看到会有三个,因为我们从零开始计数:-)或者不是? '< 2' => 0和1 =>行[: - 2]? – xralf 2011-05-24 19:47:54

3

请确保您粘贴的文本中不包含任何嵌入式控制字符(如换行符),这可能会结束输入。