더북(TheBook)

구체적으로 왼쪽 홑화살괄호(<) 기호는 사용자가 터미널 창을 통해 입력하는 것을 기다리지 말고 data.txt 텍스트 파일에서 읽어 표준 입력 스트림을 구현하도록 운영 체제에 명령한다. 프로그램에서 stdio.readFloat() 함수를 호출하면 운영 체제는 파일에서 값을 읽는다. data.txt 단지 텍스트 파일로서 파이썬 프로그램뿐만 아니라 어떠한 프로그램으로도 생성할 수 있다. 파일을 표준 입력 스트림으로 리다이렉션할 수 있는 기능 덕분에 데이터에 집중하는 코드를 작성할 수 있으며, 이런 프로그램은 코드를 변경하지 않고도 처리할 데이터를 바꿀 수 있다. 단지 데이터를 파일에 저장하고, 프로그램은 표준 입력 스트림에서 데이터를 읽도록 작성하면 된다.

두 프로그램의 연결 우리가 직접 만든 프로그램들의 표준 입력과 표준 출력을 서로 연결하면 아주 융통성 있게 작업을 진행할 수 있다. 이런 메커니즘을 파이프(pipe)라고 한다. 예를 들어 다음 명령은 randomseq.py의 출력 스트림과 average.py의 입력 스트림을 연결한다.

% python3 randomseq.py 1000 | python3 average.py

이 명령을 실행하면 randomseq.py가 터미널에 출력한 데이터를 average.py에 키 입력하듯이 전달한다. 이 명령은 다음의 두 명령을 실행한 것과 동일하게 작동한다.

% python3 randomseq.py 1000 > data.txt
% python3 average.py < data.txt

 

▲ 그림 1.5.6 한 프로그램의 출력을 다른 프로그램의 입력으로 연결하기

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.