【Python】標準入力でキーボードからデータを受け取り(sys.stdin.readlines、input関数)

Python言語のsys.stdin.readlines、input関数などを用いて標準入力を実装する方法をソースコード付きで解説します。

スポンサーリンク

【標準入力】1行の入力

標準入力とは、データを受け取ることです。
Pythonでは「sys.stdin」でキーボードからの標準入力を使うことが出来ます。
(キーボードで入力された文字を受け取ることができます)

入力したデータ(1行)を受け取って表示します。

動画解説

本ページの内容は動画でも解説しています。

# -*- coding: utf-8 -*-
import sys

print("input >")
data = sys.stdin.readline()

print("result > ")
print(data)

"""
input >
Excalibur
result >
Excalibur
"""
スポンサーリンク

【sys.stdin.readlines】複数行の入力 → リスト

入力したデータ(複数行)を受け取って表示します。
受け取ったデータは”リスト”に格納されます。

なお、入力を終了するに「ctrl + z」を入力してEnterを押します。

# -*- coding: utf-8 -*-
import sys

print("input >")
data = sys.stdin.readlines()

print("result > ")
print(data)

"""
input >
Ex
Calibur
^Z
result >
['Ex\n', 'Calibur\n']
"""

各要素には最後に改行コードも挿入されます。

【Python】複数行の標準入力(sys.stdin.readlines)
この記事では、Python言語で複数行の標準入力をsys.stdin.readlinesで受け取る方法をソースコード付きで解説します。
スポンサーリンク

【sys.stdin.read】複数行の入力 → 1つの文字列

入力したデータ(複数行)を受け取って表示します。
受け取ったデータは”1つの文字列”に格納されます。
なお、入力を終了するには「ctrl + z」を入力します。

# -*- coding: utf-8 -*-
import sys

print("input >")
data = sys.stdin.read()

print("result > ")
print(data)

"""
input >
Ex
Calibur
^Z
result >
Ex
Calibur
"""
スポンサーリンク

【input】複数行の入力

Python3ではinput関数で1行の標準入力を受け取りことができます。
input関数を繰り返し呼び出すことで、その分の行数の標準入力を受け取れます。

ただし、複数行受け取る場合は、行数を指定してやる必要があります。
今回は、1行目で行数を与え、2行目以降にデータを入力してみました。

# 行数を取得
print("input number of lines >")
num_lines = int(input())

# 1行ずつ取り出し
for i in range(num_lines):
    line = input()
    print("line " + str(i+1) + ":" + line)

"""
input number of lines >
2
Ex
line 1:Ex
calibur
line 2:calibur
"""
【Python】1行、複数行の標準入力(input、sys.stdin.readlines)
Python言語のinput、sys.stdin.readlinesで複数行の標準入力を受け取る方法をソースコード付きで解説します。
【Python超入門】使い方とサンプル集
Pythonとは、統計処理や機械学習、ディープラーニングといった数値計算分野を中心に幅広い用途で利用されている人気なプログラミング言語です。 主な特徴として「効率のよい、短くて読みやすいコードを書きやすい」、「ライブラリが豊富なのでサクッと...

コメント

  1. 匿名 より:

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