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
은 표준 입력에서만 데이터를 읽을 수 있습니다.