본문 바로가기
파이썬

[파이썬] sys모듈로 표준출력장치 변경하기

by 코딩라이프 2022. 11. 16.

컴퓨터의 기본 입력장치는? 키보드

컴퓨터의 기본 출력장치는? 모니터

 

파이썬을 이용하여 기본 출력장치를 모니터가 아닌 파일로 변경해보도록 하겠습니다.

즉, print() 함수를 이용하여 출력할 때, 모니터가 아닌 파일에 쓰여지도록 하겠다는 겁니다.


작업 순서는 다음과 같습니다.

1. sys라이브러리 import

    - 기본 출력장치를 제어하기 위하여 sys 라이브러리를 import합니다.

 

2. 기본 출력장치 백업해두기

    - 기본출력장치는 default로 모니터입니다.

      작업을 완료한 다음 다시 모니터로 복구하기 위해 기본 출력장치를 백업해두겠습니다.

 

3. 파일 열기

    - print()함수로 출력한 내용을 저장할 파일을 쓰기모드로 열어줍니다.

    - 파일의 인코딩 형식도 UTF-8로 지정하도록 하겠습니다.

 

4. 기본 출력장치를 파일로 변경하기

    - 기본 출력장치를 파일로 변경합니다.

    - 이제부터 print()함수로 출력하는 내용은 모니터에 보여지지 않고 파일에 쓰여지게 됩니다.

 

5. 출력하기

   - print()함수로 원하는 내용을 출력합니다.

 

7. 파일닫기

   - 작업이 완료되면 파일을 닫습니다.

 

8. 기본출력장치를 원래대로 복구하기

    - 기본 출력장치가 파일로 변경된 상태이므로 원래대로 복구해줍니다.

      (2번에서 백업해두었던 원래 기본출력장치로 복구합니다.)

 


아래 코드를 실행하여 확인해보세요.

#1. sys라이브러리 import
import sys

#2. 기본출력장치 백업해두기
orign_stdout = sys.stdout

#3. 파일 열기
f = open('test.txt', 'w', encoding='UTF-8')

#4. 기본 출력장치를 파일로 변경하기
sys.stdout = f

#4. 출력하기
print('안녕하세요, 파이썬의 세계에 오신것을 환영합니다.')
print('이번 예제는 기본 출력장치를 파일로 변경하는 예제입니다.')
print('어렵지 않죠?^^')

#5. 기본 출력장치를 원래대로 복구하기
sys.stdout = orign_stdout

#6. 파일 닫기
f.close()

print('작업이 완료되었습니다. 파일을 확인해보세요.')

파일을 열어보면 print()함수로 출력한 내용이 파일에 쓰여진 것을 확인할 수 있습니다.