본문 바로가기
+ Development/Python

[Python] 파이썬 출력 문자 색상 변경하기(python print text color change)

by :: Teacher :: 2020. 9. 19.
728x90
반응형

파이썬을 사용하다 보면 간혹 특정 문자나 텍스트(Text) / 배너 정보 등을 다른 색으로 표현해야 하는 경우가 발생한다. 

이럴 때 어떻게 처리해야 하는지 알아보도록 하자.

테스트는 Python 3.8.5 버전을 기준으로 작성하였다.(물론 Python2에서도 문제없이 동작한다.)

1. 직접 설정 방법

출력되어야 하는 특정 문자나 텍스트에 바로 입력하여 사용하는 방법이다. 

  • print('\033[31m' + 'Test' + '\033[0m')
  • print('\033[31m' + 'Te' + '\033[32m' + 'st' + '\033[0m')

이와 같이 특정 문자 앞뒤에 이스케이프 시퀀스(escape sequence)를 따르는 예약 문자를 입력하여 사용하게 된다. 

우선적으로 이스케이프 시퀀스, 이스케이프 문자, 예약 문자 이런 부분은 이번에는 넘어가고 다음번에 자세히 설명하도록 하겠다. 

이처럼 간단하게 한두 줄 정도를 출력하는 경우라면 직접적으로 입력하여 사용할 수 있다.

728x90

2. 글로벌(Global) 혹은 클래스(Class)를 이용하는 방법

한두 줄이 아닌 여러 부분에서 사용을 해야 하는 경우라면 글로벌 혹은 클래스로 만들어서 사용할 수 있다. 

# -*- coding: utf-8 -*-

BRIGHT_BLACK = '\033[90m'
BRIGHT_RED = '\033[91m'
BRIGHT_GREEN = '\033[92m'
BRIGHT_YELLOW = '\033[93m'
BRIGHT_BLUE = '\033[94m'
BRIGHT_MAGENTA = '\033[95m'
BRIGHT_CYAN = '\033[96m'
BRIGHT_WHITE = '\033[97m'
BRIGHT_END = '\033[0m'


class Colors:
    BLACK = '\033[30m'
    RED = '\033[31m'
    GREEN = '\033[32m'
    YELLOW = '\033[33m'
    BLUE = '\033[34m'
    MAGENTA = '\033[35m'
    CYAN = '\033[36m'
    WHITE = '\033[37m'
    UNDERLINE = '\033[4m'
    RESET = '\033[0m'


if __name__ == '__main__':
    print(Colors.RED + 'TEST' + Colors.RESET)
    print(BRIGHT_YELLOW + 'TEST' + BRIGHT_END)
    print(Colors.RED + 'TE' + Colors.BLUE + 'ST' + Colors.RESET)

 

 

이처럼 간단한 방법으로 사용할 수 있으며, 이 방법은 파이썬만이 아닌 다른 스크립트 / 언어 등에서도 널리 사용되고 있는 방법이다. 

 

728x90
반응형

댓글


loading