Question
How can I output colored text to the terminal, in Python? What is the best Unicode symbol to represent a solid block?
How-To
One easier option would be to use the cprint function from termcolor package:
Or you can define a string that starts a color and a string that ends the color, then print your text with the start string at the front and the end string at the end:
- CRED = '\033[91m'
- CEND = '\033[0m'
- print(CRED + "Error, does not compute!" + CEND)
Through experemintation, we can get more colors:
This way we can create a full color collection:
- CEND = '\33[0m'
- CBOLD = '\33[1m'
- CITALIC = '\33[3m'
- CURL = '\33[4m'
- CBLINK = '\33[5m'
- CBLINK2 = '\33[6m'
- CSELECTED = '\33[7m'
- CBLACK = '\33[30m'
- CRED = '\33[31m'
- CGREEN = '\33[32m'
- CYELLOW = '\33[33m'
- CBLUE = '\33[34m'
- CVIOLET = '\33[35m'
- CBEIGE = '\33[36m'
- CWHITE = '\33[37m'
- CBLACKBG = '\33[40m'
- CREDBG = '\33[41m'
- CGREENBG = '\33[42m'
- CYELLOWBG = '\33[43m'
- CBLUEBG = '\33[44m'
- CVIOLETBG = '\33[45m'
- CBEIGEBG = '\33[46m'
- CWHITEBG = '\33[47m'
- CGREY = '\33[90m'
- CRED2 = '\33[91m'
- CGREEN2 = '\33[92m'
- CYELLOW2 = '\33[93m'
- CBLUE2 = '\33[94m'
- CVIOLET2 = '\33[95m'
- CBEIGE2 = '\33[96m'
- CWHITE2 = '\33[97m'
- CGREYBG = '\33[100m'
- CREDBG2 = '\33[101m'
- CGREENBG2 = '\33[102m'
- CYELLOWBG2 = '\33[103m'
- CBLUEBG2 = '\33[104m'
- CVIOLETBG2 = '\33[105m'
- CBEIGEBG2 = '\33[106m'
- CWHITEBG2 = '\33[107m'
- x = 0
- for i in range(24):
- colors = ""
- for j in range(5):
- code = str(x+j)
- colors = colors + "\33[" + code + "m\\33[" + code + "m\033[0m "
- print(colors)
- x=x+5
Supplement
* URxvt 和 Bash 的自定义配色
沒有留言:
張貼留言