HOWTO · Python
Python에서 굵은 텍스트 출력하기
ANSI 시퀀스와 스타일링 라이브러리를 사용해 Python 터미널에 굵은 텍스트를 출력하는 방법을 알아봅니다.
이 페이지의 내용
Python 터미널에서 굵은 텍스트를 출력하려면 ANSI 이스케이프 시퀀스를 사용하거나 termcolor, colorama, simple_colors, click 같은 스타일링 라이브러리를 사용할 수 있습니다. 이 방법들은 터미널 출력의 모양을 바꾸는 데 쓰입니다. 문서나 웹 페이지에서 굵은 글씨를 표시하려면 Markdown이나 HTML을 사용하세요. 아래 예제는 터미널 텍스트를 대상으로 하며, 실제 표시 여부는 터미널의 ANSI 지원에 따라 달라집니다.
ANSI 이스케이프 시퀀스로 Python에서 굵은 텍스트 출력하기
ANSI 이스케이프 시퀀스는 Python 패키지를 설치하지 않고도 이를 지원하는 터미널에서 텍스트 서식을 바꿀 수 있습니다. \033[1m은 굵게 표시를 시작하고 \033[0m은 기본 서식으로 되돌립니다. 다음처럼 클래스로 묶어 두면 반복해서 사용하기 편합니다.
class BoldText:
BOLD = "\033[1m"
RESET = "\033[0m"
print(f"{BoldText.BOLD}Python Programming!{BoldText.RESET}")
[1mPython Programming![0m
서식이 뒤이어 출력되는 내용에 남지 않도록 스타일을 적용한 텍스트 뒤에 초기화 시퀀스를 넣으세요. 이 이스케이프 시퀀스는 ANSI 스타일을 지원하는 터미널에서만 해석됩니다.
클래스로 Python에서 굵은 텍스트 출력하기
앞서 정의한 BoldText 클래스는 BOLD와 RESET 상수를 제공하므로 여러 print 호출에서 같은 서식을 재사용할 수 있습니다. 스타일을 적용한 각 문자열 끝에는 초기화 시퀀스를 두세요. 이 클래스는 ANSI 제어 시퀀스를 보낼 뿐, 출력 대상이 이를 표시할 수 있는지 확인하지는 않습니다.
termcolor 모듈로 Python에서 굵은 텍스트 출력하기
termcolor는 터미널 텍스트의 서식을 지정하는 패키지이며, colored()는 서식이 적용된 문자열을 만드는 함수입니다. python -m pip install termcolor로 설치한 뒤 colored("Python", "green", attrs=["bold"])를 호출하고 반환된 문자열을 출력하면 됩니다. 이 워크플로의 Python 런타임에는 패키지가 설치되어 있지 않으므로, 이 호출은 실행 예제가 아니라 설명용으로 제시합니다.
제공된 런타임에서 같은 터미널 효과를 확인하려면 아래의 독립적인 ANSI 대안을 사용할 수 있습니다. 이 코드는 termcolor를 호출하지 않습니다. 위 패키지 호출을 실행하려면 자신의 환경에 패키지를 설치해야 합니다.
class BoldText:
BOLD = "\033[1m"
RESET = "\033[0m"
print(f"{BoldText.BOLD}Python Programming!{BoldText.RESET}")
[1mPython Programming![0m
colorama 패키지로 Python에서 굵은 텍스트 출력하기
colorama는 Windows에서 ANSI 처리를 개선하는 기능을 포함해 여러 터미널에서 ANSI 스타일을 사용하도록 돕습니다. python -m pip install colorama로 설치하고 colorama에서 Style과 init을 가져온 다음 init()을 호출하세요. 이어서 f"{Style.BRIGHT}Bold Text{Style.RESET_ALL}"를 출력하면 됩니다. Style.BRIGHT는 강조 서식을 적용하고 Style.RESET_ALL은 기본 서식으로 되돌립니다. 설정된 Python 런타임에는 이 패키지가 없으므로 사용법을 설명으로만 제시하며, 실행 예제는 아닙니다. 초기화하더라도 모든 콘솔이나 출력 대상에서 굵은 텍스트가 표시되는 것은 아닙니다.
아래 대안은 ANSI 서식을 직접 보내므로 colorama 없이 실행할 수 있습니다. colorama의 플랫폼 처리 기능을 시험하려면 패키지를 설치하고 위 호출을 사용하세요.
class BoldText:
BOLD = "\033[1m"
RESET = "\033[0m"
print(f"{BoldText.BOLD}Python Programming!{BoldText.RESET}")
[1mPython Programming![0m
simple-color 패키지로 Python에서 굵은 텍스트 출력하기
배포 패키지 이름은 simple-colors이고 가져올 때 사용하는 이름은 simple_colors입니다. python -m pip install simple-colors로 설치한 다음 simple_colors에서 green("Python", "bold")를 사용하세요. 이 워크플로의 Python 런타임에는 패키지가 포함되어 있지 않아 해당 호출은 설명용이며 여기서 실행되지 않았습니다. 이 패키지의 서식도 터미널 지원 여부에 따라 표시가 달라집니다.
같은 굵은 터미널 텍스트를 출력하는 표준 라이브러리 대안은 다음과 같습니다. 위의 simple_colors 호출을 실행하려면 simple-colors를 설치해야 합니다.
class BoldText:
BOLD = "\033[1m"
RESET = "\033[0m"
print(f"{BoldText.BOLD}Python Programming!{BoldText.RESET}")
[1mPython Programming![0m
click 라이브러리로 Python에서 굵은 텍스트 출력하기
이미 click을 사용하는 명령줄 애플리케이션이라면 python -m pip install click으로 설치하세요. click.style("Bold Text", bold=True)가 문자열에 서식을 적용하고 click.echo()가 이를 터미널에 씁니다. 설정된 Python 런타임에는 click이 없으므로 이 사용법은 실행 예제가 아니라 설명용으로 제시합니다. 다른 라이브러리와 마찬가지로 스타일이 실제로 보이는지는 출력 환경에 달려 있습니다.
아래 독립형 대안은 ANSI를 직접 사용하므로 click 없이 실행할 수 있습니다. 위의 click.style()과 click.echo() 호출은 click을 설치한 뒤 실행할 수 있습니다.
class BoldText:
BOLD = "\033[1m"
RESET = "\033[0m"
print(f"{BoldText.BOLD}Python Programming!{BoldText.RESET}")
[1mPython Programming![0m
결론
의존성 없는 방법이 필요하면 ANSI 시퀀스를 직접 사용하고, 서식을 재사용하려면 작은 클래스에 상수를 모아 두세요. termcolor, colorama, simple_colors, click은 더 높은 수준의 도우미 기능을 제공합니다. ANSI를 해석하지 못하는 터미널에서는 서식 코드가 일반 텍스트처럼 보일 수 있으므로 대상 환경에 맞춰 방법을 선택하세요.