Windows10 HomeのAnaconda Powershell Pronpt上で
pythonプログラムを学んでいます。
標準入出力について調べたいのですが、
stdin,stdoutの公式マニュアルが見あたりません。
公式マニュアルの場所を教えていただけたら嬉しいです。
また特に今回知りたいのはstdin.read()で
標準入力から複数行入力を行う際の入力の終了条件です。
当然かもしれませんが、Enterキーを押しても、どこまでも入力出来てしまいます。
詳しい方がいましたら、是非教えてもらえましたら嬉しいです。
よろしくお願いいたします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答7件
0
https://docs.python.org/ja/3/library/io.html?highlight=textiowrapper#io.TextIOBase.read
stdin.read とは、 sys.stdin
のread() のことなので、TextIOBase に説明があります。
ここで「EOF」と定義されておりますので、通常はCtrl-D
や Ctrl-Z
で対応できます。
投稿2019/04/23 05:06
編集2019/04/23 05:12総合スコア1295
0
stdin,stdoutの公式マニュアルが見あたりません。
また特に今回知りたいのはstdin.read()で
標準入力から複数行入力を行う際の入力の終了条件です。
io --- ストリームを扱うコアツール
read(size=-1)
最大 size 文字をストリームから読み込み、一つの str にして返します。
size が負の値または None ならば、 EOF まで読みます。
Python
1>>> import sys 2>>> 3>>> type(sys.stdin) 4<class '_io.TextIOWrapper'> 5>>> 6>>> help(sys.stdin.read) 7Help on built-in function read: 8 9read(size=-1, /) method of _io.TextIOWrapper instance 10 Read at most n characters from stream. 11 12 Read from underlying buffer until we have n characters or we hit EOF. 13 If n is negative or omitted, read until EOF. 14
投稿2019/04/23 05:04
編集2019/04/23 05:06総合スコア35678
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

0
直接の解説は
https://docs.python.org/ja/3/library/sys.html#sys.stdin
ですが、併せて
https://docs.python.org/ja/3/library/io.html
にも目を通したほうが良いでしょう。
また特に今回知りたいのはstdin.read()で
標準入力から複数行入力を行う際の入力の終了条件です。
EOFを送信してください。windowsのコマンドプロンプトではCtrl-zしてEnterでいけると思います。
投稿2019/04/23 05:13
総合スコア30939
0
ベストアンサー
Pythonのリファレンスでは、https://docs.python.org/ja/3.7/library/sys.html にあります。
知りたい事と言うのは、そうじゃなくて、sys.stdin
がキーボードに割り当てられている場合の終了条件というかEOF(End Of File)の入力方法ですよね?
それは実装依存です。Windowsであれば、Ctrl-Z
を押してEnter
ですね。
これは、Pythonの話じゃなくて、WindowsPowerShell入門ないしWindowsコマンドプロンプト入門的な書籍に載っていると思います。
投稿2019/04/23 05:08
編集2019/04/23 05:09総合スコア86349
0
pythonの公式ドキュメントで、stdin、stdoutで検索すればどうでしょうか
標準入力から複数行入力を行う際の入力の終了条件です。
終了条件はあなたが決めるものです。
投稿2019/04/23 05:02
編集2019/04/23 05:03総合スコア88178
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

0
複数行入力における終了条件という説明で誤解を与えてしまった部分もあり申し訳ありません。
幾人かの方に指摘いただきました通り
結局求められていたのは標準入力をキーボードとした際のEOFの入力方法で
自分の環境においては Ctrl-z + Enter で入力状態を終了する事が出来ました。
皆さまの温かいご回答本当にありがとうございました。
また是非よろしくお願いします。
投稿2019/04/23 05:51
総合スコア10
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/23 05:37