제목:

파이썬에서 콘솔 글자색 및 효과 지정하기 (리눅스)

날짜: Posted on

이 포스트에서는 파이썬에서 콘솔의 글자색 및 효과를 지정하는 방법에 대해 설명합니다.

참고: 이 방법은 리눅스에서만 가능한 방법입니다. 윈도우에서는 다른 방법을 사용합니다.

리눅스 콘솔에서 ANSI 제어 문자를 사용하여 콘솔의 글자색과 효과를 지정하는데, \033[?m(?에는 숫자가 들어감)을 삽입하면 그 자리에서부터 특수한 효과가 생기거나 색깔이 변합니다.

우선, 글자의 특수한 효과가 나타는 \033[0m부터 \033[9m까지는 다음과 같습니다.

제어문자 효과
\033[0m 모든 효과 제거
\033[1m 강조하기
\033[2m 사용불가 텍스트
\033[3m 이탤릭체
\033[4m 밑줄
\033[5m 깜빡임
\033[6m 깜빡임
\033[7m 역상
\033[8m 숨기기
\033[9m 취소선

\033[0m(모든 효과 제거)의 경우는 특수한 효과가 제거됨과 동시에 바뀐 색상까지 원래대로 돌아갑니다. 그리고 \033[1m(강조하기)의 경우는 일반적으로 글자 색이 밝아지는 효과가 있습니다. 다른 효과들은 콘솔에 따라 지원하는 경우도 아닌 경우도 있습니다.

글자색을 바꾸는 \033[30m부터 \033[37m까지는 다음과 같습니다.

제어문자 효과
\033[30m 검은색 글씨
\033[31m 빨간색 글씨
\033[32m 초록색 글씨
\033[33m 노란색 글씨
\033[34m 파란색 글씨
\033[35m 보라색 글씨
\033[36m 청록색 글씨
\033[37m 하얀색 글씨

여기서 \033[30m부터 \033[37m 대신 \033[40m부터 \033[47m로 하면 글자 색 대신 글자 배경색이 바뀝니다. 물론 이 둘을 동시에 쓰면 글자 색과 배경색을 함께 바꿀 수도 있습니다.

참고로, 콘솔에 따라 \033[90m부터 \033[97m까지, \033[100m부터 \033[107m를 쓰면 글자 색과 배경색이 다르게 나오는 경우도 있습니다.

본론으로 들어가 코드를 봅시다.

C_END     = "\033[0m"
C_BOLD    = "\033[1m"
C_INVERSE = "\033[7m"

C_BLACK  = "\033[30m"
C_RED    = "\033[31m"
C_GREEN  = "\033[32m"
C_YELLOW = "\033[33m"
C_BLUE   = "\033[34m"
C_PURPLE = "\033[35m"
C_CYAN   = "\033[36m"
C_WHITE  = "\033[37m"

C_BGBLACK  = "\033[40m"
C_BGRED    = "\033[41m"
C_BGGREEN  = "\033[42m"
C_BGYELLOW = "\033[43m"
C_BGBLUE   = "\033[44m"
C_BGPURPLE = "\033[45m"
C_BGCYAN   = "\033[46m"
C_BGWHITE  = "\033[47m"

print(C_BOLD + C_YELLOW + "노랗게 노랗게 " + C_END + C_YELLOW + "물들었네" + C_END)
print(C_BOLD + C_RED + "빨갛게 빨갛게 " + C_END + C_RED + "물들었네" + C_END)
print(C_BOLD + C_CYAN + "파랗게 파랗게 " + C_END + C_CYAN + "높은 하늘" + C_END)
print(C_BOLD + C_BGBLUE + C_WHITE + "가을 길" + C_END + C_BOLD + C_BLUE + "은 고운 길" + C_END)
print(C_BOLD + C_PURPLE + "트랄랄랄라~ 트랄랄랄라~ 트랄랄랄랄라 노래 부르자" + C_END)
print(C_BOLD + C_GREEN + "산 넘고 물 건너 가는 길" + C_END)
print(C_BOLD + C_WHITE + "가을 길은 " + C_INVERSE + "비단 길" + C_END)

1번부터 21번까지는 제어 문자를 변수화시켜 선언한 예입니다. 이렇게 하는 이유는 제어 문자를 그대로 포함시켜서 넣으면 가독성이 좋지 않게 되고 편집 도중 실수의 가능성도 있기 때문입니다.

이 코드를 실행하면,

노랗게 노랗게 물들었네
빨갛게 빨갛게 물들었네
파랗게 파랗게 높은 하늘
가을 길은 고운 길
트랄랄랄라~ 트랄랄랄라~ 트랄랄랄랄라 노래 부르자
산 넘고 물 건너 가는 길
가을 길은 비단 길

이렇게 글자 색이 바뀌어서 표시됩니다.

7개의 댓글이 있습니다.

  1. 많이 배워갑니다. 감사합니다.
    혹시 리눅스 쉘 처음 다루고자 하는데, 추천해주실 도서나 사이트 알고 계신지요?
    서버 관리도 하고 기상기후 데이터를 다루는 데 있어서 필요합니다.

    1. 감사합니다.

      추천할 만한 도서나 사이트는 잘 모르겠습니다.
      스택 오버플로우(https://stackoverflow.com/)라는 사이트가 있는데, 네이버 지식iN과 비슷한 사이트이고 컴퓨터 개발 위주의 글이 많이 올라옵니다. 영어로 되어 있지만 아마 유용할 듯 싶습니다.

    2. 저도 얼마 안배운 초본데 청정수때 보고 많이 배워간 책이 있습니다.(초보자를 위한 파이썬 200제)

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다