Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python으로 터미널 텍스트에 색상 출력하는 방법

터미널 환경에서 중요한 정보나 경고 메시지를 색상으로 강조하면 가독성이 크게 향상됩니다. 다행히 Python에서는 다양한 방법으로 터미널 출력에 색상을 적용할 수 있습니다.

Python 모듈 활용하기

1. termcolor 모듈

termcolor는 터미널 출력에 ANSI 색상 서식(ANSII Color Formatting)을 적용할 수 있도록 도와주는 대표적인 라이브러리입니다. 별도의 설정 없이 간단한 코드만으로 텍스트의 글자색, 배경색, 그리고 다양한 텍스트 속성을 지정할 수 있습니다.

먼저 아래 명령어로 모듈을 설치합니다.

pip install termcolor

설치가 완료되었다면 다음 예제처럼 colored()cprint() 함수를 활용할 수 있습니다.

import sys
from termcolor import colored, cprint

text1 = colored('Hello, Tutorialspoint!', 'blue', attrs=['reverse', 'blink'])
print(text1)

cprint('Hello, Python!', 'blue', 'on_white')

print_red_on_blue = lambda x: cprint(x, 'red', 'on_blue')
print_red_on_blue('Hello, from Data Science!')
print_red_on_blue('Hello, Python!')

for i in range(10):
    cprint(i, 'green', end=' ')

cprint("Attention!", 'blue', attrs=['bold'], file=sys.stderr)

코드 설명

  • colored(): 색상이 적용된 문자열을 반환합니다. 이후 print()로 출력하면 해당 색상이 반영됩니다.
  • cprint(): 반환 없이 곧바로 콘솔에 출력하는 함수입니다.
  • attrs: 'bold'(굵게), 'blink'(깜빡임), 'reverse'(전경색·배경색 반전) 같은 추가 속성을 리스트 형태로 지정할 수 있습니다.
  • 'on_white', 'on_blue': 배경색을 지정하는 옵션으로, 전경색과 함께 조합해 사용할 수 있습니다.

위 예제는 파란색 텍스트 출력, 흰색 배경 위 파란색 글씨, 파란 배경 위 빨간 글씨, 초록색 숫자 나열, 굵은 속성의 에러 메시지 출력까지 다양하게 시연합니다. 마지막 예제처럼 file=sys.stderr 옵션을 사용하면 표준 에러 스트림에도 색상 출력이 가능합니다.

참고 사항

Windows 기본 콘솔(cmd)에서는 ANSI 색상 코드가 지원되지 않을 수 있습니다. 이 경우 colorama 패키지를 함께 설치하고 프로그램 시작 부분에서 from colorama import init; init()을 호출하면 termcolor와 호환되어 정상적으로 색상이 표시됩니다. 최근 Windows Terminal이나 PowerShell에서는 대부분 기본적으로 ANSI 색상을 지원합니다.

실행 결과

Python으로 터미널 텍스트에 색상 출력하는 방법