Python에서 stdin의 입력을 읽는 방법

Hassan Saeed 2024년2월15일
  1. 파이썬에서stdin에서 읽기 위해fileinput.input()사용
  2. 파이썬에서stdin에서 읽기 위해sys.stdin 사용
  3. 결론
Python에서 stdin의 입력을 읽는 방법

이 가이드에서는 Python의 stdin에서 입력을 읽는 방법에 대해 설명합니다. 이것은 콘솔에서 직접 읽거나 콘솔에 지정된 파일 이름에서 읽을 수 있습니다.

파이썬에서stdin에서 읽기 위해fileinput.input()사용

fileinput 모듈을 사용하여 Python의stdin에서 읽을 수 있습니다. fileinput.input()은 명령 줄 인수에 지정된 입력 파일 이름의 모든 줄을 읽습니다. 인수를 지정하지 않으면 제공된 표준 입력을 읽습니다.

아래 예제는 지정된 입력 파일 이름에서 읽기를 보여줍니다.

아래의sample.txt를 사용합니다.

Hello
Line1

Line2

read.py 스크립트 아래.

import fileinput

for line in fileinput.input():
    print(line.rstrip())

다음과 같이 실행합니다.

python read.py "sample.txt"

출력:

Hello
Line1

Line2

아래 예는 표준 입력에서 읽는 것을 보여줍니다.

import fileinput

for line in fileinput.input():
    print("Output:", line.rstrip())

실행 및 출력은 다음과 같습니다.

python read.py
Line 1
Output: Line 1
Line 2
Output: Line2
^Z

Python은 stdin에서 입력을 읽습니다

다음과 같이 나중에 처리 할 데이터를 저장할 수 있습니다.

import fileinput

data = []
for line in fileinput.input():
    data.append(line.rstrip())

line.rstrip()을 사용하고 있습니다. 그것은 후행 개행을 제거하는 것입니다.

y를 입력하면 모든 변수가 삭제됩니다.

파이썬에서stdin에서 읽기 위해sys.stdin 사용

또 다른 접근 방식은 sys.stdin을 사용하여 Python의 stdin에서 읽는 것입니다. 아래 예는stdin에서 한 줄씩 데이터를 읽는 방법을 보여줍니다.

import sys

for line in sys.stdin:
    print("Output:", line.rstrip())

실행 및 출력은 다음과 같습니다.

python read.py
Line 1
Output: Line 1
Line 2
Output: Line2
^Z

우리는 또한stdin의 모든 데이터를 한 줄씩 읽는 대신 한 번에 읽을 수 있습니다.

아래 예는이를 설명합니다.

import sys

data = sys.stdin.readlines()
data = [line.rstrip() for line in data]

line.rstrip()을 사용하고 있습니다. 그것은 후행 개행을 제거하는 것입니다.

결론

파이썬에서stdin 입력을 읽기 위해fileinput.input()sys.stdin의 두 가지 메소드를 논의했습니다. fileinput.input()은 명령 줄 인수 또는 표준 입력에서 지정된 파일 이름에서 데이터를 읽을 수있는 반면sys.stdin은 표준 입력에서만 데이터를 읽을 수 있습니다.

관련 문장 - Python Input