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超入門速報
コメント
readlinesの終了は「ctrl+D」で出来ました。
ctrl+zではundoになります。