Pythonでstdinから読み取る方法

How Read From Stdin Python



ユーザーからの入力を受け取ることは、プログラミング言語の重要な部分です。多くのプログラムの出力は、標準入力に依存します。ユーザーからの入力を受け取る方法は、プログラミング言語によって異なります。 Pythonには、標準の入力から読み取る方法がたくさんあります。 NS input()関数 最も一般的な方法は、組み込み関数である標準入力から読み取ることです。 NS sys.stdin 別の方法は、標準入力から呼び出しを読み取ることです input()関数 初めの。 Pythonには、という名前の別のモジュールがあります fileinput 標準入力を読み取るため。 NS input()関数 このモジュールの一部を使用して、標準入力を読み取ったり、1つ以上のファイルからコンテンツを読み取ったりできます。このチュートリアルでは、Pythonの標準入力から読み取るさまざまな方法について説明しました。

例-1:input()関数を使用してstdinからデータを読み取ります

input()関数は、ユーザーからの入力を受け取るために最もよく使用される関数です。次のスクリプトを使用してPythonファイルを作成し、「n」キーが押されるまでユーザーから入力を受け取ります。ここでは、whileループを使用して無限ループを作成します。最初のinput()関数はユーザーからデータを取得するために使用され、print()関数は入力値を出力するために使用されます。次に、スクリプトのinput()関数を使用して、タスクを再度続行するか、スクリプトを終了するようにユーザーに要求します。ユーザーが「n」または「N」を押すと、ループの反復はbreakステートメントによって停止されます。それ以外の場合、ループは再度繰り返され、ユーザーから別の入力を受け取ります。アッパー()関数は、ユーザーが指定した値を大文字にするためにスクリプトで使用されます。







#無限ループを定義する

その間 NS

#ユーザーからの入力を取得します

inputVal= 入力(('任意のテキストを入力します:NS')。

#入力値を出力

印刷(('入力値は%s'((inputVal)。)。

#次の反復を要求する

nextInput= 入力(('続けますか? (Y / N) ')。

#「n」が押された場合、ループを終了します

もしもnextInput。アッパー(()。 == 'NS'

壊す

#終了メッセージを出力します

印刷((「プログラムは終了しました。」)。

出力:

上記のスクリプトを実行すると、次のような出力が表示されます。ここ、 ' LinuxHint ‘は最初の入力値として指定され、文字‘ n ’を押すためのスクリプトで終了しました。





例2:sys.stdinを使用してstdinからデータを読み取る

NS sys.stdin ターミナルからユーザーから標準入力を受け取るPythonのもう1つのオプションです。 input()関数を内部的に呼び出し、 ‘を追加します NS ‘入力を受け取った後。次のスクリプトを使用してPythonファイルを作成し、の使用を確認します。 sys.stdin 標準入力を取得します。ここでは、「for-in」ループを使用して、ユーザーがスクリプトを終了するまで、ユーザーからの入力を無限に取得します。入力値を出力した後、 input()関数 スクリプトを停止するかどうかをユーザーに求めるために使用されます。ユーザーが「」を押すと、スクリプトは終了します ' また ' ‘。 NS upper()関数 ここでは、入力値を大文字にするためにも使用されます。





#sysモジュールをインポートする

輸入 sys


印刷((「任意のテキストを入力してください:」)。


#stdinを使用して入力を取得

にとってinputVal sysstdin

#入力値を出力

印刷(('入力値は:%s'%inputVal)。


#次の反復を要求する

nextInput= 入力(('終了しますか? (Y / N) ')。

#「y / Y」が押された場合、ループを終了します

もしもnextInput。ストリップ(()。アッパー(()。 == 'と'

壊す

そうしないと

印刷((「任意のテキストを入力してください:」)。

出力:

上記のスクリプトを実行すると、次のような出力が表示されます。ここ、 ' Pythonプログラミング ‘は最初の入力値として指定され、文字‘ y ’を押すためのスクリプトで終了しました。



例-3:fileinputを使用してstdinからデータを読み取る

fileinputは、標準入力を受け取るPythonのもう1つのモジュールです。テキストの行は、を使用して端末またはファイルから取得できます。 fileinput.input() 。この関数で引数値が指定されていない場合は、端末からの入力を受け取り、既存のファイルの名前が引数値として指定されている場合は、ファイルからの入力を受け取ります。次のスクリプトを使用してPythonファイルを作成し、ターミナルから標準の入力を取得します。ここでは、「for-in」ループを前の例として使用して、ユーザーがスクリプトを終了するまで、無限の時間入力を取得します。次に、input()関数を使用して、スクリプトを停止するかどうかをユーザーに要求します。ユーザーが入力すると、スクリプトは終了します 「quit」または「Quit」または「QUIT」 。 NS upper()関数 ここでは、入力値を大文字にするためにも使用されます。 NS strip()関数 入力値の両側から余分なスペースを削除するために使用されます。

#fileinputモジュールをインポートする

輸入 fileinput


印刷((「テキストを入力してください:」)。

'' '

fileinput.input()関数を使用して入力を取得し、

ctrl + Dを押して、入力値の取得を終了します

'' '


にとってinputVal fileinput入力(()。

#「quit」が入力された場合、ループを終了します

もしもinputVal。ストリップ(()。アッパー(()。 == '終了する'

壊す


#入力値を出力

印刷(('入力値は次のとおりです:'inputVal)。

印刷((「テキストを入力してください:」)。

出力:

上記のスクリプトを実行すると、次のような出力が表示されます。ここでは、「Learn python from LinuxHint.com」が最初の入力値として指定され、「quit」という単語を入力するためのスクリプトで終了しています。を使用して端末から入力を取得するときは、1つのことを覚えておく必要があります。 fileinput モジュール。つまり、入力を取得した後、ctrl + dを押す必要があります。

の引数値としてファイル名を指定する必要があります fileinput.input() ターミナルではなくファイルからデータを取得したい場合に機能します。

結論:

このチュートリアルでは、3つの簡単な例を使用して、端末から入力を取得する3つの異なる方法を示しました。を使用するためにモジュールは必要ありません input()関数 入力を取得するため。使用するには、sysモジュールをインポートする必要があります sys.stdin 、 そしてその fileinputモジュール 使用するにはインポートする必要があります fileinput.input() スクリプトで標準入力を取得します。このチュートリアルを読んだ後、Pythonユーザーが要件に基づいて標準入力を取得することを願っています。