To make some of your text more readable, you can use ANSI escape codes to change the colour of the text output in your python program. A good use case for this is to to highlight errors.
The escape codes are entered right into the print statement.
print("\033[1;32;40m Bright Green \n")
The above ANSI escape code will set the text colour to bright green. The format is;
\033[ Escape code, this is always the same
1 = Style, 1 for normal.
32 = Text colour, 32 for bright green.
40m = Background colour, 40 is for black.
This table shows some of the available formats;
Text color | Code | Text style | Code | Background color | Code |
---|---|---|---|---|---|
Black | 30 | No effect | 0 | Black | 40 |
Red | 31 | Bold | 1 | Red | 41 |
Green | 32 | Underline | 2 | Green | 42 |
Yellow | 33 | Negative1 | 3 | Yellow | 43 |
Blue | 34 | Negative2 | 5 | Blue | 44 |
Purple | 35 | Purple | 45 | ||
Cyan | 36 | Cyan | 46 | ||
White | 37 | White | 47 |
Here is the code used to create the coloured text in the title image;
print("\033[0;37;40m Normal text\n") print("\033[2;37;40m Underlined text\033[0;37;40m \n") print("\033[1;37;40m Bright Colour\033[0;37;40m \n") print("\033[3;37;40m Negative Colour\033[0;37;40m \n") print("\033[5;37;40m Negative Colour\033[0;37;40m\n") print("\033[1;37;40m \033[2;37:40m TextColour BlackBackground TextColour GreyBackground WhiteText ColouredBackground\033[0;37;40m\n") print("\033[1;30;40m Dark Gray \033[0m 1;30;40m \033[0;30;47m Black \033[0m 0;30;47m \033[0;37;41m Black \033[0m 0;37;41m") print("\033[1;31;40m Bright Red \033[0m 1;31;40m \033[0;31;47m Red \033[0m 0;31;47m \033[0;37;42m Black \033[0m 0;37;42m") print("\033[1;32;40m Bright Green \033[0m 1;32;40m \033[0;32;47m Green \033[0m 0;32;47m \033[0;37;43m Black \033[0m 0;37;43m") print("\033[1;33;40m Yellow \033[0m 1;33;40m \033[0;33;47m Brown \033[0m 0;33;47m \033[0;37;44m Black \033[0m 0;37;44m") print("\033[1;34;40m Bright Blue \033[0m 1;34;40m \033[0;34;47m Blue \033[0m 0;34;47m \033[0;37;45m Black \033[0m 0;37;45m") print("\033[1;35;40m Bright Magenta \033[0m 1;35;40m \033[0;35;47m Magenta \033[0m 0;35;47m \033[0;37;46m Black \033[0m 0;37;46m") print("\033[1;36;40m Bright Cyan \033[0m 1;36;40m \033[0;36;47m Cyan \033[0m 0;36;47m \033[0;37;47m Black \033[0m 0;37;47m") print("\033[1;37;40m White \033[0m 1;37;40m \033[0;37;40m Light Grey \033[0m 0;37;40m \033[0;37;48m Black \033[0m 0;37;48m") \n")
Hello,
You could also use a module called colorama.
https://pypi.python.org/pypi/colorama/0.3.3
Best regards,
JM
Thanks!
Am I the only one that at first thought that that message was from Moriarty? (Some people will get it, some not. Either way, I owe you, you saved my life with this)
You mean from the book, Lock and Key?
thx this is much better
This is very helpful so now I can prank my bro by changing his color in his program from white to black ( ͡° ͜ʖ ͡°)
It does not work on mine, I use 3.9.0 and tried both \x1b and \033, only the start got hided and other got displayed, so the color did not display.
Same here. Any solution ?
try this:
import os
if os.name == ‘nt’:
os.system(“”) # enables ansi characters in Windows terminal
for me, it does not work
… It still needs to change the invalid syntax at the end so I need another time to research …
it doesn’t work on python 3
For python three the escape code is “\x1b[” then you add stuff so bright green would be “\x1b[1;32m”
I hope that helped ya out.
try ‘import sys’ first, then
print (‘\033[1;33mHello \033[0;0mworld’)
that worked for me using python3.6 on my android phone with termux as my command line (dash shell I think).
\033[1;33m –sets color for ‘Hello’
\033[0;0m — resets color for ‘world’
What the programme to get colour ansi escape for python
it DOES work on python 3
first install colorama in cmd (pip3 install colorama)
yes same for me
it did in my side python 3.6.7
me too urgh .. i need to learn it before tomorrow
U r right
it does
it doesnt work, only on MAC, please someone help, i needa do this on my Windows pc none of em works
can anything work on python3 for this
read my reply to the earlier guy 😛
or mine using sys module
yeah this works fine
How to save and restore the original terminal colors after changing them?
In python 3 its “\x1b[0m” so in raspberry pi it might be “\033[0m” or something like that.
It didn’t work on me
2.7.14
It works on machines dude
This did not work at all on the most recent version of python
read my reply to the earlier guy 😛
Please import sys first. Firstly didn’t work for me either.
Using python 3.6.3, doesn’t work for me for some reason… checked you’re comments as well. Tried to work it out myself, but couldn’t… I’m just a GCSE student after all 😀 could i get some help please?
no
The only thing i can not get to worl is the Text Style option. Writing 1,2,3,4 or 5 gives no different results printing the result text. Any comment on this?
this not working in python3
thonny 3.6.1 not working
This does not work on windows when you call your script from Thonny, Idle, powershell, or cmd. However this does however work if you call it from a terminal that supports it (such as cygwin)
Just do import sys before you do it its universal that way 😀
So I am pretty sure this doesn’t work when using raw_input(“”) and adding some colours. Try this out in Python3.x, then type loads of characters until you reach the right side of the screen. It wraps the text before getting there for me. I looked and this is a current bug with python.
Code with the bug:
raw_input(” Test : \033[;1m\033[0;0m\033[;1m\033[0;0m\033[;1m\033[0;0m\033[;1m\033[0;0m\033[;1m\033[0;0m\033[;1m\033[0;0m”)
How can I restore the colors from previous terminal? I mean, I was using 40m to add black background, but the terminal is white. I don’t want to use curses, but I need to restore previous terminal behaviour.
Apply a white background to it. Done!
suppose i=32
how do I print the color corresponding to the value stored in the variable i?
How to write a for a loop to print all the possible colors?
For python 3.x users:
Just type
from colorama import init
init()
then you are good to go
I’m using Python 3.7.2 in Windows 10
and sadly none of the ideas above work.
I just want Python code to display text in a specified colour.
All help appreciated 🙂
Same for me. I am using Spyder (Python 3.7) and none of the ideas are working out. I have tired colorama, termcolor, ANSI escape code method and others too. Can someone please help me out?
It needz to be in the windows terminal, python shell will not work
You can use ‘ pip install colorama ‘
then in the script :
“`
from colorama import Fore
from colorama import Style
#to print red text
print(f'{Fore.RED} hi there {Style.RESET_ALL}’)
#style reset all
“`
Call of python
U can use \e instead of \033…
Like “\e[1;32;40m” instead of “\033[1;32;40m”
Which is Bright Green btw….
how to write to text file?
I am not getting response of the following command
import sys
print (‘\033[1;33mHello \033[0;0mworld’)
Hey how would I have an imput as bold because any way i try, it wont work.
When I run it off of a cmd console (Windows) or PowerShell (Also Windows) it just shows “←[1;30;40m //text//”
is that not supposed to happen?
Fo me, it shows also a line starting with left arrow and square bracket and no color.
The colors work in IDE, but not in command prompt where I need it…
the color 3 command makes all the text blue in command prompt!
color 2 is green
color 1 in normal
Guess what this is a great little trick BUT if you are using characters from another language with double width characters it will chop the characters in half! How do I get round this? By using “DOCSTRING ” and “UTF” commands?
that was great thank you
but also I have a question. how can I eliminate the background color?
bcs u said that by using code : 47m , I can have white, but seems like its grey :\
what should I do?
3[1;37;40m White \033[0m 1;37;40m \033[0;37;40m Light Grey \033[0m 0;37;40m \033[0;37;48m Black \033[0m 0;37;48m”)
\n”)
Raspberry Pi controlling a LED cube with Python
March 8, 2016
In “Raspberry Pi”
Using a button and the GPIO on a Raspberry Pi to send a SMS
September 28, 2019
In “BerryGPS”
Raspberry Pi, 1.8″ TFT, RF Receiver and Temperature Sensor
January 8, 2013
In “Linux”
PYTHON
61 THOUGHTS ON “ADD COLOUR TO TEXT IN PYTHON”
Joao Matos
MAY 22, 2015 AT 4:46 PM
Hello,
You could also use a module called colorama.
https://pypi.python.org/pypi/colorama/0.3.3
Best regards,
JM
REPLY
Ema Ferdová
AUGUST 27, 2018 AT 2:59 AM
Thanks!
Am I the only one that at first thought that that message was from Moriarty? (Some people will get it, some not. Either way, I owe you, you saved my life with this)
REPLY
PinkiMingo
MAY 26, 2019 AT 4:52 AM
You mean from the book, Lock and Key?
Jessie Smetts
DECEMBER 6, 2019 AT 9:37 AM
thx this is much better
REPLY
Howard
AUGUST 25, 2020 AT 4:28 AM
This is very helpful so now I can prank my bro by changing his color in his program from white to black ( ͡° ͜ʖ ͡°)
REPLY
willywillycow
NOVEMBER 22, 2020 AT 6:36 PM
It does not work on mine, I use 3.9.0 and tried both \x1b and \033, only the start got hided and other got displayed, so the color did not display.
REPLY
KHAGEN PATEL
DECEMBER 16, 2020 AT 7:39 AM
Same here. Any solution ?
G.R.Curtis
MAY 15, 2022 AT 7:09 AM
try this:
import os
if os.name == ‘nt’:
os.system(“”) # enables ansi characters in Windows terminal
yuvraj
DECEMBER 26, 2020 AT 5:45 AM
for me, it does not work
REPLY
Henry
MARCH 30, 2021 AT 10:46 PM
… It still needs to change the invalid syntax at the end so I need another time to research …
REPLY
noobsee
FEBRUARY 17, 2016 AT 3:17 PM
it doesn’t work on python 3
REPLY
Cluosion
DECEMBER 4, 2017 AT 3:17 AM
For python three the escape code is “\x1b[” then you add stuff so bright green would be “\x1b[1;32m”
I hope that helped ya out.
REPLY
python experimenter
FEBRUARY 21, 2018 AT 5:10 PM
try ‘import sys’ first, then
print (‘\033[1;33mHello \033[0;0mworld’)
that worked for me using python3.6 on my android phone with termux as my command line (dash shell I think).
\033[1;33m –sets color for ‘Hello’
\033[0;0m — resets color for ‘world’
REPLY
Ivor Thomson
AUGUST 10, 2021 AT 1:03 AM
What the programme to get colour ansi escape for python
PoProstuBartek
DECEMBER 24, 2018 AT 4:19 AM
it DOES work on python 3
REPLY
Muhammad Zubair Ahmad
NOVEMBER 17, 2021 AT 6:40 AM
first install colorama in cmd (pip3 install colorama)
jalipo
APRIL 26, 2019 AT 6:27 PM
yes same for me
REPLY
Houda
MAY 2, 2019 AT 12:59 AM
it did in my side python 3.6.7
REPLY
el
SEPTEMBER 1, 2019 AT 2:20 AM
me too urgh .. i need to learn it before tomorrow
REPLY
CallMeFish
MAY 6, 2020 AT 3:03 PM
U r right
REPLY
dome
JUNE 24, 2020 AT 2:16 AM
it does
REPLY
Bionic_Junior
SEPTEMBER 4, 2020 AT 8:26 PM
it doesnt work, only on MAC, please someone help, i needa do this on my Windows pc none of em works
dara
AUGUST 25, 2016 AT 8:54 PM
can anything work on python3 for this
REPLY
Cluosion
DECEMBER 4, 2017 AT 3:19 AM
read my reply to the earlier guy 😛
REPLY
python experimenter
FEBRUARY 21, 2018 AT 5:12 PM
or mine using sys module
Breagha Carr
APRIL 16, 2019 AT 3:31 AM
yeah this works fine
REPLY
Bryan Boot
FEBRUARY 22, 2017 AT 5:41 PM
How to save and restore the original terminal colors after changing them?
REPLY
Cluosion
DECEMBER 4, 2017 AT 3:19 AM
In python 3 its “\x1b[0m” so in raspberry pi it might be “\033[0m” or something like that.
REPLY
Francis CamoDude
NOVEMBER 17, 2017 AT 1:02 AM
It didn’t work on me
2.7.14
REPLY
HARISH DATLA
OCTOBER 28, 2018 AT 10:19 PM
It works on machines dude
REPLY
Jake
NOVEMBER 23, 2017 AT 12:46 AM
This did not work at all on the most recent version of python
REPLY
Cluosion
DECEMBER 4, 2017 AT 3:18 AM
read my reply to the earlier guy 😛
REPLY
Ratul Hasan
JUNE 17, 2019 AT 12:45 AM
Please import sys first. Firstly didn’t work for me either.
REPLY
Jake
DECEMBER 8, 2017 AT 8:18 AM
Using python 3.6.3, doesn’t work for me for some reason… checked you’re comments as well. Tried to work it out myself, but couldn’t… I’m just a GCSE student after all 😀 could i get some help please?
REPLY
urdad
NOVEMBER 27, 2018 AT 5:53 PM
no
REPLY
Mr Kemsko
JANUARY 31, 2018 AT 9:13 PM
The only thing i can not get to worl is the Text Style option. Writing 1,2,3,4 or 5 gives no different results printing the result text. Any comment on this?
REPLY
LulzSec
MARCH 7, 2018 AT 12:01 AM
this not working in python3
REPLY
Samuel Kim
MARCH 7, 2018 AT 7:59 AM
thonny 3.6.1 not working
REPLY
parx
FEBRUARY 1, 2019 AT 11:41 PM
This does not work on windows when you call your script from Thonny, Idle, powershell, or cmd. However this does however work if you call it from a terminal that supports it (such as cygwin)
REPLY
the person that corrects all
MAY 3, 2018 AT 6:58 PM
Just do import sys before you do it its universal that way 😀
REPLY
Kai Farley
AUGUST 15, 2018 AT 11:47 PM
So I am pretty sure this doesn’t work when using raw_input(“”) and adding some colours. Try this out in Python3.x, then type loads of characters until you reach the right side of the screen. It wraps the text before getting there for me. I looked and this is a current bug with python.
Code with the bug:
raw_input(” Test : \033[;1m\033[0;0m\033[;1m\033[0;0m\033[;1m\033[0;0m\033[;1m\033[0;0m\033[;1m\033[0;0m\033[;1m\033[0;0m”)
REPLY
Eduard Lucena
OCTOBER 11, 2018 AT 12:00 AM
How can I restore the colors from previous terminal? I mean, I was using 40m to add black background, but the terminal is white. I don’t want to use curses, but I need to restore previous terminal behaviour.
REPLY
Me
MAY 25, 2020 AT 12:16 PM
Apply a white background to it. Done!
REPLY
Rajit Datta
JANUARY 2, 2019 AT 1:22 AM
suppose i=32
how do I print the color corresponding to the value stored in the variable i?
How to write a for a loop to print all the possible colors?
REPLY
Anuj Agrawal
APRIL 8, 2019 AT 7:35 PM
For python 3.x users:
Just type
from colorama import init
init()
then you are good to go
REPLY
Martin.
MAY 12, 2019 AT 4:50 AM
I’m using Python 3.7.2 in Windows 10
and sadly none of the ideas above work.
I just want Python code to display text in a specified colour.
All help appreciated 🙂
REPLY
Kshitij
JUNE 30, 2020 AT 1:10 PM
Same for me. I am using Spyder (Python 3.7) and none of the ideas are working out. I have tired colorama, termcolor, ANSI escape code method and others too. Can someone please help me out?
REPLY
…
MAY 30, 2021 AT 12:03 AM
It needz to be in the windows terminal, python shell will not work
okba elbahi
FEBRUARY 22, 2022 AT 1:43 AM
You can use ‘ pip install colorama ‘
then in the script :
“`
from colorama import Fore
from colorama import Style
#to print red text
print(f'{Fore.RED} hi there {Style.RESET_ALL}’)
#style reset all
“`
REPLY
Tryto
JUNE 20, 2019 AT 11:28 PM
Call of python
REPLY
Thengakola
OCTOBER 3, 2020 AT 1:51 PM
U can use \e instead of \033…
Like “\e[1;32;40m” instead of “\033[1;32;40m”
Which is Bright Green btw….
REPLY
Pingback: Python 3 bug print background color issue – Ask python questions
sam
NOVEMBER 12, 2020 AT 8:08 PM
how to write to text file?
REPLY
Neelam
NOVEMBER 28, 2020 AT 6:32 PM
I am not getting response of the following command
import sys
print (‘\033[1;33mHello \033[0;0mworld’)
REPLY
Joseph
DECEMBER 12, 2020 AT 1:56 AM
Hey how would I have an imput as bold because any way i try, it wont work.
REPLY
Alyxx
DECEMBER 15, 2020 AT 3:54 PM
When I run it off of a cmd console (Windows) or PowerShell (Also Windows) it just shows “←[1;30;40m //text//”
is that not supposed to happen?
REPLY
Mike
AUGUST 9, 2021 AT 6:29 PM
Fo me, it shows also a line starting with left arrow and square bracket and no color.
The colors work in IDE, but not in command prompt where I need it…
REPLY
Aarav
JULY 27, 2022 AT 5:21 AM
the color 3 command makes all the text blue in command prompt!
color 2 is green
color 1 in normal
Andrew Dalton
JULY 14, 2021 AT 6:07 AM
Guess what this is a great little trick BUT if you are using characters from another language with double width characters it will chop the characters in half! How do I get round this? By using “DOCSTRING ” and “UTF” commands?
REPLY
Maya
DECEMBER 8, 2021 AT 5:15 AM
that was great thank you
but also I have a question. how can I eliminate the background color?
bcs u said that by using code : 47m , I can have white, but seems like its grey :\
what should I do?
REPLY
Pingback: How To Colour Letters In Python – Electricity Bill Calculator
LEAVE A REPLY
Your email address will not be published. Required fields are marked *
Comment *
Name *
Email *
Website
This site uses Akismet to reduce spam. Learn how your comment data is processed.
Blip, blop, bloop…
BERRYIMU
BERRYIMU QUICK START GUIDE
GUIDE TO INTERFACING A GYRO AND ACCELEROMETER WITH A RASPBERRY PI
CREATE A DIGITAL COMPASS WITH THE RASPBERRY PI – PART 1 – “THE BASICS”
CREATE A DIGITAL COMPASS WITH THE RASPBERRY PI – PART 2 – “TILT COMPENSATION”
CREATE A DIGITAL COMPASS WITH THE RASPBERRY PI – PART 3 – “CALIBRATION”
DIGITAL COMPASS WITH THE RASPBERRY PI – PART 4- “SMARTPHONE REPLICA”
HOW TO CREATE AN INCLINOMETER USING A RASPBERRY PI AND AN IMU
GUIDE TO INTERFACING A GYRO AND ACCELEROMETER WITH A RASPBERRY PI – KALMAN FILTER
CONVERTING VALUES FROM AN ACCELEROMETER TO GS
DOUBLE TAP DETECTION WITH BERRYIMUV3
CONNECTING BERRYIMUV3 VIA SPI TO A RASPBERRY PI
BERRYGPS-IMU
BERRYGPS-IMU QUICK START GUIDE
BERRYGPS SETUP GUIDE FOR RASPBERRY PI
GPS DATA LOGGER USING A BERRYGPS
USING PYTHON WITH A GPS RECEIVER ON A RASPBERRY PI
NAVIGATING WITH NAVIT ON THE RASPBERRY PI
USING U-CENTER TO CONNECT TO THE GPS ON A BERRYGPS-IMU
ACCESSING GPS VIA I2C
BERRYGPS-IMU FAQ
BERRYGPS-GSM
BERRYGPS-GSM OVERVIEW
USING GPS AND CONNECTING VIA 3G/2G USING PPP
CONNECTING VIA 3G/2G USING THE HOLOGRAM CLI
REAL-TIME GPS TRACKING WITH A RASPBERRY PI
ASSISTED GPS
HOW TO ACCESS GPS NMEA SENTENCES THROUGH USB ON THE BERRYGPS-GSM
USING U-CENTER TO CONNECT TO THE GPS ON BERRYGPS-GSM
USING A BUTTON AND THE GPIO TO SEND A SMS
CONTROL THE GPIO USING A SMS FROM A MOBILE PHONE
PISCREEN
PISCREEN QUICK START GUIDE
PISCREEN DRIVER INSTALL INSTRUCTIONS
ENABLE CONSOLE ON PISCREEN
ENABLE X WINDOWS ON PISCREEN
PISCREEN WITH STROKE AND GESTURE RECOGNITION
VIRTUAL KEYBOARD FOR PISCREEN
PISCREEN FAQ
PISCREEN KIT ASSEMBLY INSTRUCTIONS
RASPBERRY PI ROBOTS
PIBBOT V2 – BALANCING ROBOT USING A RASPBERRY PI
SUCCESS WITH A BALANCING ROBOT USING A RASPBERRY PI
PIBBOT – ROBOTIC PROJECT – PHASE 2 – PROTOTYPE
TFTS ON THE RASPBERRY PI
PISCREEN – 3.5″ TFT(480×320) WITH TOUCH CONTROL FOR THE RASPBERRY PI – KICKSTARTER LAUNCHED
RASPBERRY PI WITH A 3.2″ TFT WITH TOUCH CONTROL (PART 2)
RASPBERRY PI WITH A 1.8″ TFT SHIELD
RASPBERRY PI WITH A 2.2″ TFT
RASPBERRY PI, 1.8″ TFT, RF RECEIVER AND TEMPERATURE SENSOR
RASPBERRY PI AND TFT DISPLAY
CONTROLLING THE GPIO ON A RASPBERRY PI WITH A TOUCHSCREEN
PROGRAMMING FOR A TOUCHSCREEN ON THE RASPBERRY PI
FOLLOW OZZMAKER VIA EMAIL
Enter your email address to follow and receive notifications of new posts by email.
Join 353 other subscribers
Email Address
Email Address
FOLLOW
FACEBOOK PAGE
Facebook Page
Proudly powered by WordPress