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

다음과 같이 나중에 처리 할 데이터를 저장할 수 있습니다.
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은 표준 입력에서만 데이터를 읽을 수 있습니다.