teratail header banner
teratail header banner
質問するログイン新規登録

質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.30%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

7回答

1182閲覧

python stdin stdout のマニュアル

routa

総合スコア10

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/04/23 04:57

0

0

Windows10 HomeのAnaconda Powershell Pronpt上で
pythonプログラムを学んでいます。

標準入出力について調べたいのですが、
stdin,stdoutの公式マニュアルが見あたりません。
公式マニュアルの場所を教えていただけたら嬉しいです。

また特に今回知りたいのはstdin.read()で
標準入力から複数行入力を行う際の入力の終了条件です。
当然かもしれませんが、Enterキーを押しても、どこまでも入力出来てしまいます。
詳しい方がいましたら、是非教えてもらえましたら嬉しいです。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答7

0

https://docs.python.org/ja/3/library/io.html?highlight=textiowrapper#io.TextIOBase.read

stdin.read とは、 sys.stdinのread() のことなので、TextIOBase に説明があります。

ここで「EOF」と定義されておりますので、通常はCtrl-DCtrl-Z で対応できます。

投稿2019/04/23 05:06

編集2019/04/23 05:12
tetsunosuke

総合スコア1295

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

routa

2019/04/23 05:37

TextIOBaseにあったのですね。 見つからないわけだと思いました。 とても参考になりました。ありがとうございました!
guest

0

stdin,stdoutの公式マニュアルが見あたりません。

sys --- システムパラメータと関数

また特に今回知りたいのは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
LouiS0616

総合スコア35678

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

routa

2019/04/23 05:25

LouiS0616さま read()のドキュメントの位置が分かりました。 参考になりました。ありがとうございました!
guest

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

hayataka2049

総合スコア30939

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

routa

2019/04/23 05:43

Ctrl-z で解決しました。 マニュアルの掲載も併せての ご回答を頂きありがとうございます。 目を通してみます!
guest

0

stdin,stdoutの公式マニュアルが見あたりません。

sys.stdin

標準入力から複数行入力を行う際の入力の終了条件です。

EOFを入力すればよいです。Windows環境ならCtrl+zで入力できます。

投稿2019/04/23 05:12

can110

総合スコア38352

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

routa

2019/04/23 05:42

Ctrl-z で解決しました! ご回答ありがとうございます!
guest

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
otn

総合スコア86349

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

otn

2019/04/23 05:35

Windowsでも、CygwinとかMinGWで構築されたPythonがあれば、Unix流なので、 Ctrl-D (Enter不要)です。
routa

2019/04/23 05:41

まったくご指摘の通りでした。 標準入力がキーボードの場合のEOFの入力方法でした。 Ctrl-Z+Enterで上手くいきました! コマンドプロンプトの基礎も復習も兼ねて学びたいと思います。 ありがとうございました!
guest

0

pythonの公式ドキュメントで、stdin、stdoutで検索すればどうでしょうか

標準入力から複数行入力を行う際の入力の終了条件です。

終了条件はあなたが決めるものです。

投稿2019/04/23 05:02

編集2019/04/23 05:03
y_waiwai

総合スコア88178

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

routa

2019/04/23 05:06

y_waiwaiさま 早速のご回答ありがとうございます。 公式ドキュメント内で検索した結果以下のページは見つけられたのですが、 https://docs.python.org/ja/3/library/sys.html?highlight=stdin#sys.stdin stdinのread()メソッドのドキュメントを見つけられる事が出来ておりません。 (read()メソッドのドキュメント内に終了条件は含まれていないような気もするのですが  少なくとも、そこまで辿り着くことも出来ていないという状況です)
y_waiwai

2019/04/23 05:07

終了条件というのは存在しません。 よって、公式ドキュメントだろーがなにを探してもそれについての記述はありません
routa

2019/04/23 05:43

y_waiwaiさま 解決しました! 質問の仕方が誤解させてしまったかもしれません。 再度ご回答頂き、ありがとうございます。
guest

0

複数行入力における終了条件という説明で誤解を与えてしまった部分もあり申し訳ありません。
幾人かの方に指摘いただきました通り
結局求められていたのは標準入力をキーボードとした際のEOFの入力方法で
自分の環境においては Ctrl-z + Enter で入力状態を終了する事が出来ました。

マニュアルについてもhttps://docs.python.org/ja/3/library/io.html?highlight=textiowrapper#io.TextIOBase.read で見つけることが出来ました。

皆さまの温かいご回答本当にありがとうございました。
また是非よろしくお願いします。

投稿2019/04/23 05:51

routa

総合スコア10

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問