답변:
class color:
PURPLE = '\033[95m'
CYAN = '\033[96m'
DARKCYAN = '\033[36m'
BLUE = '\033[94m'
GREEN = '\033[92m'
YELLOW = '\033[93m'
RED = '\033[91m'
BOLD = '\033[1m'
UNDERLINE = '\033[4m'
END = '\033[0m'
print(color.BOLD + 'Hello World !' + color.END)
termcolor를 사용할 수 있습니다.
sudo pip install termcolor
컬러 굵은 체를 인쇄하려면
from termcolor import colored
print(colored('Hello', 'green', attrs=['bold']))
자세한 정보는 PyPi의 termcolor를 참조하십시오 .
simple-colors 는 비슷한 구문을 가진 또 다른 패키지입니다.
from simple_colors import *
print(green('Hello', ['bold'])
일직선 컴퓨터 프로그래밍에서는 "굵은 텍스트 인쇄"와 같은 것은 없습니다. 비트를 백업하고 텍스트가 바이트 문자열이고 바이트가 비트 묶음임을 이해합시다. 컴퓨터에는 여기 "hello"텍스트가 binary로 표시 됩니다.
0110100001100101011011000110110001101111
각각 1 또는 0은 비트입니다. 모든 8 비트는 바이트입니다. 모든 바이트는 Python 2.x와 같은 문자열로 하나의 문자 / 숫자 / 구절 항목 (문자라고 함)입니다. 예를 들어 :
01101000 01100101 01101100 01101100 01101111
h e l l o
컴퓨터는 이러한 비트를 문자로 변환하지만 전통적인 문자열 (ASCII 문자열이라고 함)에는 굵은 체 텍스트를 나타내는 것이 없습니다. 약간 다르게 작동하는 유니 코드 문자열에서 컴퓨터는 중국어와 같은 국제 언어 문자를 지원할 수 있지만 다시 말하지만 일부 텍스트는 굵게 표시되고 일부 텍스트는 그렇지 않습니다. 명시적인 글꼴, 텍스트 크기 등도 없습니다.
HTML을 인쇄하는 경우 여전히 문자열을 출력합니다. 그러나 해당 문자열 (웹 브라우저)을 읽는 컴퓨터 프로그램 은 문자 문자열을 화면의 픽셀로 변환 할 때 this is <b>bold</b>
"이것은 굵은 체 " 와 같은 텍스트를 해석하도록 프로그래밍되어 있습니다. 모든 텍스트가 WYSIWYG 인 경우 HTML 자체의 필요성이 완화됩니다. 편집기에서 텍스트를 선택하고 HTML을 입력하는 대신 굵게 표시하면됩니다.
다른 프로그램은 다른 시스템을 사용합니다. 터미널에 굵은 텍스트를 인쇄하기위한 완전히 다른 시스템에 대한 설명이 많이 있습니다. 원하는 작업을 수행하는 방법을 알게되어 기쁘지만 언젠가는 문자열과 메모리의 작동 방식을 이해하고 싶을 것입니다.
콜로라도를 확인하십시오 . 굵게 표시하는 데 반드시 도움이되는 것은 아니지만 Windows와 Linux 모두에서 컬러 출력을 수행하고 밝기를 제어 할 수 있습니다.
from colorama import *
init(autoreset=True)
print Fore.RED + 'some red text'
print Style.BRIGHT + Fore.RED + 'some bright red text'
파이썬에서 텍스트 (굵게, 밑줄, 색 등)를 포맷 하는 데 매우 유용한 모듈 이 있습니다 . curses
lib를 사용 하지만 사용 하기가 매우 간단합니다.
예를 들면 :
from terminal import render
print render('%(BG_YELLOW)s%(RED)s%(BOLD)sHey this is a test%(NORMAL)s')
print render('%(BG_GREEN)s%(RED)s%(UNDERLINE)sAnother test%(NORMAL)s')
나는 이것을 좀 더 파이썬으로 만들기 위해 colors.py 라는 간단한 모듈 을 작성했습니다.
import colors
with colors.pretty_output(colors.BOLD, colors.FG_RED) as out:
out.write("This is a bold red text")
with colors.pretty_output(colors.BG_GREEN) as out:
out.write("This output have a green background but you " +
colors.BOLD + colors.FG_RED + "can" + colors.END + " mix styles")
ImportError: No module named terminal
ImportError: No module named render
실제로 이것은 "터미널"모듈에 대해 찾을 수있는 유일한 사이트입니다. 정교하게 작성하십시오.
terminal
모듈 을 포함하는 데 사용 되었지만 페이지를 리디렉션했습니다. 다음은 Google이 캐시 한 코드 입니다.
print '\033[1m Your Name \033[0m'
\ 033 [1m은 터미널에서 굵게 표시되는 유니 코드입니다. \ 033 [0m은 편집 된 텍스트를 끝내고 기본 텍스트 형식으로 돌아 가기위한 유니 코드입니다 !!!!!!
\ 033 [0m을 사용하지 않으면 다가오는 터미널의 모든 텍스트가 굵게 표시됩니다 !!!!!!!!!
termcolor
모듈 설치
sudo pip install termcolor
그런 다음 컬러 텍스트로 시도하십시오.
from termcolor import colored
print colored('Hello', 'green')
또는 굵은 체 텍스트 인 경우 :
from termcolor import colored
print colored('Hello', attrs=['bold'])
파이썬 3에서는 선택적으로 사용할 수있는 cprint
드롭 인 교체 내장에 같은 print
색상에 대한 선택적인 두 번째 매개 변수 또는로, attrs
대담한 (예 : 다른 속성에 대한 매개 변수 underline
일반 이름 이외에) print
등의 인수 file
또는 end
.
import sys
from termcolor import cprint
cprint('Hello', 'green', attrs=['bold'], file=sys.stderr)
전체 공개,이 답변은 Olu Smith의 답변을 크게 기반 으로하며 편집 목적으로 작성되었습니다 .이 페이지의 소음을 크게 줄 였지만 일부 리뷰어 의 편집 내용에 대한 잘못된 개념으로 인해 나는 강제로 이것을 별도의 답변으로 만들 수 있습니다.
가정 당신 정말 A의 평균 "인쇄" 실제 인쇄 터미널 :
>>> text = 'foo bar\r\noof\trab\r\n'
>>> ''.join(s if i & 1 else (s + '\b' * len(s)) * 2 + s
... for i, s in enumerate(re.split(r'(\s+)', text)))
'foo\x08\x08\x08foo\x08\x08\x08foo bar\x08\x08\x08bar\x08\x08\x08bar\r\noof\x08\
x08\x08oof\x08\x08\x08oof\trab\x08\x08\x08rab\x08\x08\x08rab\r\n'
로 보내십시오 stdout
.
파이썬 3에서는 colorama-simple_colors를 사용할 수 있습니다 : (단순 색상 페이지 : https://pypi.org/project/simple-colors/- '사용법'으로 이동하십시오 pip install simple_colours
.)
from simple_colors import *
print(green('hello', 'bold'))
pip install simple_colors