1. ホーム
  2. python

[解決済み] sys.stdin.readlines() の入力を終了させる方法は?

2022-02-19 16:36:53

質問

これは愚問かもしれませんが、答えが見つからないので質問させてください。

対話型Pythonで、受け取ったメッセージを処理したいのですが。

>>> message = sys.stdin.readlines()

すべてうまくいくのですが、、、入力の取得を停止してメッセージ変数に保存させるにはどうしたらいいでしょうか?ctrl+cで停止すると、すべての処理が停止するので、どこにも保存される入力がありません。簡単な答えがあると思うのですが、見つかりません...。

解決方法は?

unixベースのシステムの場合 :

こんにちは、あなたは、テープ: Ctrl d

Ctrl d を送信して、標準入力(stdin)を閉じます。 EOF .

例:

>>> 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 を送信するには、次のように置き換えます。 Ctrl d Ctrl z