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の使い方について、基礎文法から応用例まで入門者向けに解説します。
コメント
readlinesの終了は「ctrl+D」で出来ました。
ctrl+zではundoになります。