Python 인쇄 컬러 텍스트

  1. ANSI 이스케이프 코드를 사용하여 Python에서 컬러 텍스트 인쇄
  2. colorama 모듈을 사용하여 Python에서 컬러 텍스트 인쇄

이 튜토리얼은 Python으로 인쇄 할 때 컬러 텍스트를 생성하는 방법을 보여줍니다.

입력을 사용하여 명령 줄 콘솔을 조작하는 유일한 방법은 ANSI 이스케이프 코드를 사용하는 것입니다. 이러한 코드는 텍스트 또는 배경색, 커서 설정, 글꼴 및 콘솔 내의 기타 수정 가능한 요소와 같은 콘솔 기능을 조작 할 수 있습니다.

ANSI 이스케이프 코드를 사용하여 Python에서 컬러 텍스트 인쇄

먼저, 작업 할 수있는 색상을 나타내는 몇 가지 ANSI 코드를 제공하는 Python 클래스를 선언 해 보겠습니다.

class bcolors:
    OK = '\033[92m' #GREEN
    WARNING = '\033[93m' #YELLOW
    FAIL = '\033[91m' #RED
    RESET = '\033[0m' #RESET COLOR

이 변수 중 3 개는 색상에 대한 실제 ANSI 코드이며 RESET변수는 색상을 기본값으로 다시 설정하기위한 것입니다.

print()함수는 명령 줄 콘솔에 문자열 인수를 출력합니다.

print()의 출력에 색상을 지정하려면 명령 줄 콘솔을 조작 할 수있는 ANSI 코드를 문자열 내에 삽입해야합니다.

bcolors 클래스를 사용하여 서로 다른 색상으로 3 개의 다른 선을 인쇄합니다.

print(bcolors.OK + "File Saved Successfully!" + bcolors.RESET)
print(bcolors.WARNING + "Warning: Are you sure you want to continue?" + bcolors.RESET)
print(bcolors.FAIL + "Unable to delete record." + bcolors.RESET)

반영 할 색상을 문자열에 접두사로 붙이고 다음에print()를 사용할 때 또는 다음에 터미널을 사용할 때 색상을 기본값으로 재설정하기 위해bcolors.RESET을 붙입니다.

Python 3를 사용하는 경우 다음과 같이print()문을 형식화 할 수도 있습니다.

print(f"{bcolors.OK}File Saved Successfully!{bcolors.RESET}")
print(f"{bcolors.WARNING}Warning: Are you sure you want to continue?{bcolors.RESET}")
print(f"{bcolors.FAIL}Unable to delete record.{bcolors.RESET}")

산출:

Python 컬러 텍스트 출력

마지막 줄을 출력 한 후 bcolors.RESET으로 인해 단말기가 기본 색상으로 재설정됩니다. 줄 끝에 넣지 않으면 터미널 내의 텍스트는print()에서 설정 한 마지막 색상으로 채색됩니다. 이 경우 빨간색입니다.

colorama 모듈을 사용하여 Python에서 컬러 텍스트 인쇄

ANSI의 문제는 Windows OS에서 제대로 작동하지 않을 수 있으므로 Windows 콘솔에서 작동하도록하려면 해결 방법이 필요하다는 것입니다.

colorama는 ANSI 이스케이프 코드를 사용하는 Python 모듈입니다. 이 모듈을 사용하면 ANSI가 Windows와 호환 될 수 있습니다. 이 문서에서는 Windows 호환성을 위해 ANSI 코드를 래핑 할 수있는 방법을 설명합니다.

다음은 사용 가능한 colorama전경색 목록입니다.

BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET

또한 모든 현재 ANSI 수정 사항을 재설정하는RESET_ALL을 포함한 스타일이 있으며Fore.RESET은 최신 ANSI 만 재설정합니다.

DIM, NORMAL, BRIGHT, RESET_ALL

먼저, 커뮤니티에서 만든 라이브러리 인colorama를 설치해야합니다. 이 종속성을 설치하기 위해pip 또는anaconda를 사용할 수 있습니다.

-pip 또는pip3의 경우

pip install colorama
pip3 install colorama //if you're using python3
  • anaconda
conda install -c anaconda colorama

우리는 몇 가지 색상을 시도해보고 다양한 색상과 스타일의 여러 줄을 출력 할 것입니다. colorama.init()를 사용하여 이러한 설정이 Windows에서 작동하도록합니다.

import colorama
from colorama import Fore
from colorama import Style

colorama.init()
print(Fore.BLUE + Style.BRIGHT + "This is the color of the sky" + Style.RESET_ALL)
print(Fore.GREEN + "This is the color of grass" + Style.RESET_ALL)
print(Fore.BLUE + Style.DIM + "This is a dimmer version of the sky" + Style.RESET_ALL)
print(Fore.YELLOW + "This is the color of the sun" + Style.RESET_ALL)

산출:

colorma를 사용한 Python 컬러 텍스트 출력

DIMBRIGHT는 같은 색상에 사용할 때 색상의 다른 음영을 출력합니다. RESET_ALL은 색상을 기본값으로 재설정하여 다른 색상으로 설정하거나 기본값으로 둡니다.

요약하면, 파이썬에서 컬러 텍스트를 인쇄하는 유일한 방법은 ANSI 이스케이프 코드를 사용하는 것입니다. 콘솔이 Python의print()문의 지침을 이해할 수있는 유일한 방법입니다. print()내에 실제 이스케이프 코드를 포함하여 수동으로 수행하거나colorama를 사용하여 ANSI 코드를 더 읽기 쉬운 형식으로 래핑 할 수 있습니다.

ANSI 코드 색상에 대한 더 많은 옵션을 얻고 싶다면이를 제공 할 수있는 많은 리소스가 인터넷에 있습니다. 이 기사는 좋은 시작입니다. ANSI 코드를 사용하여 텍스트 서식 (굵게, 밑줄, 기울임 꼴), 콘솔 배경 변경 등을 할 수도 있습니다.