2015-06-22 37 views
1

我正在使用Python腳本來自動化我需要做的一些重複性文本操作任務。我使用PyDev作爲Eclipse的插件作爲我的IDE。Eclipse/PyDev將換行符作爲指令粘貼到控制檯中,但我希望它將它們解析爲長字符串的一部分

我需要腳本來接受從剪貼板粘貼的用戶輸入。輸入通常會有很多行,包括許多換行符。

我目前擁有的腳本要求輸入如下:

oldTableString = raw_input('Paste text of old table here:\n') 

控制檯正確顯示用戶輸入的提示和等待。但是,一旦我將文本粘貼到控制檯中,它就會將粘貼文本中的任何換行符解釋爲按下輸入按鈕,並執行代碼,就好像它接收到的唯一輸入是粘貼文本的第一行(在第一個換行符),然後按回車鍵(它將它解釋爲提示輸入)。

我已經證實,它只能通過下面的行讀取輸入的第一行:

print oldTableString 

...其中,符合市場預期,打印出任何的只有第一行我粘貼到安慰。


我怎樣才能獲得的Eclipse認識到,我希望它來解析一下我粘貼到控制檯的整體,包括換行,一個字符串?

謝謝!

回答

-1

直接從剪貼板中讀取或循環讀取每一行,直到收到終止符號或超時爲止。另外,讓它在Eclipse下工作很重要嗎?直接執行時是否有效?

0
text = "" 

tmp = raw_input("Enter text:\n") 

while tmp != "": 
    text += tmp + "\n" 
    tmp = raw_input() 

print text 

這個工程,但你必須再按一次輸入一次。

+0

這看起來不起作用......它不需要額外的輸入按鍵,它只是將我粘貼到控制檯的第一行打印出來,就像我的代碼一樣。 –

+0

你的輸入是否包含空行?如果是這樣,你可以用「QUIT」替換「」,然後在粘貼文本後鍵入QUIT。 – UncleAlbie

+0

確實是這個問題;我在輸入文本中有一些空行。使用像QUIT這樣的特定轉義序列。 我仍然寧願找一個解決方案,不需要輸入額外的「好吧,我現在完成」關鍵字,特別是因爲我相信我將不必擔心我的任何輸入是否包含關鍵字與此設置。有沒有辦法告訴Eclipse不要把每一個換行符當作「走」的標誌? –

相關問題