Pythonのsys.stdin.readlines、input関数などを用いてキーボードからデータを受け取る(標準入力)方法を初心者向けに解説します。
標準入力(1行の入力)
標準入力とは、プログラムが外部からデータを受け取る仕組みです。
Pythonでは、標準ライブラリに含まれる「sysモジュール」や「input()」を使ってキーボードから入力を受け取ることができます。
以下は、入力したデータ(1行)を受け取って表示する例です。
import sys
print("勇者ぴこりの冒険ログを1行入力してください >")
log = sys.stdin.readline()
print("=== 冒険の記録 ===")
print(f"{log}")
勇者ぴこりの冒険ログを1行入力してください >
エクスカリバーを手に入れた! ← キーボードで入力
=== 冒険の記録 ===
エクスカリバーを手に入れた!
エクスカリバーを手に入れた! ← キーボードで入力
=== 冒険の記録 ===
エクスカリバーを手に入れた!
複数行の標準入力(リストに格納)
複数行の入力をまとめて受け取る場合は、標準ライブラリに含まれる sys.stdin.readlines() を使います。
返り値は「リスト」で、各行が要素として格納されます。
import sys
print("勇者ぴこりの冒険ログを複数行入力してください(終了は Ctrl+Z / Ctrl+D) >")
logs = sys.stdin.readlines()
print("=== 冒険の記録 ===")
print(logs)
勇者ぴこりの冒険ログを複数行入力してください(終了は Ctrl+Z / Ctrl+D) >
村を出発した
スライムを倒した
^Z
=== 冒険の記録 ===
[‘村を出発した\n’, ‘スライムを倒した\n’]
村を出発した
スライムを倒した
^Z
=== 冒険の記録 ===
[‘村を出発した\n’, ‘スライムを倒した\n’]
- Windows: 入力終了は
Ctrl + Z→ Enter - Linux / Mac: 入力終了は
Ctrl + D
各要素には改行コード \n が含まれます。不要な場合は、以下のように strip() メソッドで取り除けます。
import sys
print("勇者ぴこりの冒険ログを複数行入力してください(終了は Ctrl+Z / Ctrl+D) >")
logs = sys.stdin.readlines()
print("=== 冒険の記録 ===")
for line in logs:
print(line.strip())
複数行の標準入力(行数指定)
Pythonの input() 関数は1行ずつ入力を受け取ります。
複数行を受け取りたい場合は、繰り返し呼び出す必要があります。
以下の例では、最初の行で「行数」を入力し、その回数分だけ input() を繰り返しています。
# 行数を取得
print("勇者ぴこりの冒険ログの行数を入力してください >")
num_logs = int(input())
# 1行ずつ取り出し
for i in range(num_logs):
log = input()
print(f"ログ{i+1}: {log}")
勇者ぴこりの冒険ログの行数を入力してください >
2
村を出発した
ログ1: 村を出発した
剣を手に入れた
ログ2: 剣を手に入れた
2
村を出発した
ログ1: 村を出発した
剣を手に入れた
ログ2: 剣を手に入れた
`input()` だけでは「いつ入力が終わるか」を自動で判定できません。
そのため「行数を先に指定する」か「EOF(Ctrl+Z / Ctrl+D)」を使う必要があります。
そのため「行数を先に指定する」か「EOF(Ctrl+Z / Ctrl+D)」を使う必要があります。
複数行の標準入力(文字列に格納)
sys.stdin.read() を使うと、複数行の入力を 1つの文字列 としてまとめて受け取れます。
import sys
print("勇者ぴこりの冒険ログをまとめて入力してください(終了は Ctrl+Z / Ctrl+D) >")
story = sys.stdin.read()
print("=== 冒険の記録 ===")
print(story)
勇者ぴこりの冒険ログをまとめて入力してください(終了は Ctrl+Z / Ctrl+D) >
洞窟に入った
ドラゴンと遭遇した
^Z
=== 冒険の記録 ===
洞窟に入った
ドラゴンと遭遇した
洞窟に入った
ドラゴンと遭遇した
^Z
=== 冒険の記録 ===
洞窟に入った
ドラゴンと遭遇した
- Windows: 入力終了は
Ctrl + Z - Linux / Mac: 入力終了は
Ctrl + D
関連ページ(もっと学びたい人へ)
Pythonの基礎から応用例まで、以下ページから学ぶことができます。

【Python超入門】基礎から応用例まで幅広く解説
PythonについてPythonは、統計処理や機械学習、ディープラーニングといった数値計算分野を中心に幅広い用途で利用されているプログラミング言語です。他のプログラミング言語と比較して「コードが短くて読みやすい、書きやすい」「ライブラリが豊...

コメント
readlinesの終了は「ctrl+D」で出来ました。
ctrl+zではundoになります。