2011-05-24 69 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

請確保您粘貼的文本中不包含任何嵌入式控制字符(如換行符),這可能會結束輸入。