這可能是一個愚蠢的問題,但我無法找到答案,我要問它。如何完成sys.stdin.readlines()輸入?
在交互式Python我要處理的消息,我用得到:
>>> message = sys.stdin.readlines()
一切工作正常,但...如何從獲得的輸入阻止它,並把它存到消息的變量?用ctrl + c停止整個過程,所以沒有輸入可以保存在任何地方。我想有一個簡單的答案,我只是找不到...
這可能是一個愚蠢的問題,但我無法找到答案,我要問它。如何完成sys.stdin.readlines()輸入?
在交互式Python我要處理的消息,我用得到:
>>> message = sys.stdin.readlines()
一切工作正常,但...如何從獲得的輸入阻止它,並把它存到消息的變量?用ctrl + c停止整個過程,所以沒有輸入可以保存在任何地方。我想有一個簡單的答案,我只是找不到...
的基於UNIX的系統:
您好,您可以膠帶:Ctrl鍵d
Ctrl鍵d通過發送EOF關閉標準輸入(stdin) 。
例子:
>>> import sys
>>> message = sys.stdin.readlines()
Hello
World
My
Name
Is
James
Bond
# <ctrl-d> EOF sent
>>> print message
['Hello\n', 'World\n', 'My\n', 'Name\n', 'Is\n', 'James\n', 'Bond\n']
對於Windows:
要在Windows上發送EOF,可以更換按Ctrld通過按Ctrlž
使用CTRL-D
。
message = sys.stdin.readlines()
abc
def
<CTRL-D>
# message == ['abc\n', 'def\n']
這是一個古老的問題,但它需要更新關於Windows和不同的鍵盤佈局的。
如果沒有CTRL + Z也不CTRL + d **爲您的工作在Windows並和你流浪是怎麼回事做到這一點:
這實在有些怪異和違反直覺。我改變鍵位佈局,前一段時間,包括拋光的人物,但所有的公共密鑰保持不變,Z仍然映射到z當我使用鍵盤正常,通常按CTRL + Z確實沒有在我的鍵盤,所以我不應該改變。但很顯然,在cmd中它的工作方式不同,爲了有CTRL和Z鍵我有切換到默認佈局,或使用控制y以發送EOF之間默認鏈接。
廢話,你救了我。我不知道自己做錯了什麼,我終於找到了答案,你說'我按了回車',然後突然知道自己做錯了什麼。謝謝! – snowe 2014-03-05 00:25:42
在窗戶上,只需按CTRL + Z並按下輸入
非常感謝 - 正是我所期待的。由於你們兩個都在同一時間回答,我會同時答覆你們的答案。 – Gandi 2011-04-05 08:38:53
不客氣。 – 2011-04-05 08:42:56