Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > Colour of output text

Reply
Thread Tools

Colour of output text

 
 
Alex Rosslyn
Guest
Posts: n/a
 
      07-09-2009
Hi,

I would like to learn a way of changing the colour of a particular
part of the output text. I've tried the following:

import os
os.system("color 17")
print "This should be white on blue"

But that command changes the colour of ALL the text and the whole
background. What i'm trying to do is simple: Change a single part (A
letter, a word, a phrase) of the output text.

Is there a way of doing this?

Thanks in advance,

~~A.Rosslyn
 
Reply With Quote
 
 
 
 
Tim Harig
Guest
Posts: n/a
 
      07-09-2009
On 2009-07-09, Alex Rosslyn <(E-Mail Removed)> wrote:
> I would like to learn a way of changing the colour of a particular
> part of the output text. I've tried the following


http://catb.org/esr/faqs/smart-questions.html

> import os
> os.system("color 17")
> print "This should be white on blue"


I assume that you are on Windows?

> But that command changes the colour of ALL the text and the whole
> background. What i'm trying to do is simple: Change a single part (A
> letter, a word, a phrase) of the output text.


If you are on Windows, then there is an API accessing the Windows Console:

http://msdn.microsoft.com/en-us/libr...10(VS.85).aspx

On Unix operating systems this would be done through the curses interface:

http://docs.python.org/library/curses.html
 
Reply With Quote
 
 
 
 
garabik-news-2005-05@kassiopeia.juls.savba.sk
Guest
Posts: n/a
 
      07-10-2009
Tim Harig <(E-Mail Removed)> wrote:
> On 2009-07-09, Alex Rosslyn <(E-Mail Removed)> wrote:
>> I would like to learn a way of changing the colour of a particular
>> part of the output text. I've tried the following


> On Unix operating systems this would be done through the curses interface:
>
> http://docs.python.org/library/curses.html


Or using ANSI colour codes:

colours = {
'none' : "",
'default' : "\033[0m",
'bold' : "\033[1m",
'underline' : "\033[4m",
'blink' : "\033[5m",
'reverse' : "\033[7m",
'concealed' : "\033[8m",

'black' : "\033[30m",
'red' : "\033[31m",
'green' : "\033[32m",
'yellow' : "\033[33m",
'blue' : "\033[34m",
'magenta' : "\033[35m",
'cyan' : "\033[36m",
'white' : "\033[37m",

'on_black' : "\033[40m",
'on_red' : "\033[41m",
'on_green' : "\033[42m",
'on_yellow' : "\033[43m",
'on_blue' : "\033[44m",
'on_magenta' : "\033[45m",
'on_cyan' : "\033[46m",
'on_white' : "\033[47m",

'beep' : "\007",

# non-standard attributes, supported by some terminals
'dark' : "\033[2m",
'italic' : "\033[3m",
'rapidblink' : "\033[6m",
'strikethrough': "\033[9m",
}

print colours['red'], 'this is red', colours['blue'], 'blue', colours['on_green'], 'and with a green background', colours['default']

--
-----------------------------------------------------------
| Radovan Garab√*k http://kassiopeia.juls.savba.sk/~garabik/ |
| __..--^^^--..__ garabik @ kassiopeia.juls.savba.sk |
-----------------------------------------------------------
Antivirus alert: file .signature infected by signature virus.
Hi! I'm a signature virus! Copy me into your signature file to help me spread!
 
Reply With Quote
 
Tim Harig
Guest
Posts: n/a
 
      07-10-2009
On 2009-07-10, http://www.velocityreviews.com/forums/(E-Mail Removed) <(E-Mail Removed)> wrote:
> Tim Harig <(E-Mail Removed)> wrote:
>> On 2009-07-09, Alex Rosslyn <(E-Mail Removed)> wrote:
>>> I would like to learn a way of changing the colour of a particular
>>> part of the output text. I've tried the following

>> On Unix operating systems this would be done through the curses interface:
>> http://docs.python.org/library/curses.html

> Or using ANSI colour codes:


Which will only work for ANSI terminals.
 
Reply With Quote
 
Chris Rebert
Guest
Posts: n/a
 
      07-10-2009
On Fri, Jul 10, 2009 at 2:23 AM,
<(E-Mail Removed)> wrote:
> Tim Harig <(E-Mail Removed)> wrote:
>> On 2009-07-09, Alex Rosslyn <(E-Mail Removed)> wrote:
>>> I would like to learn a way of changing the colour of a particular
>>> part of the output text. I've tried the following

>
>> On Unix operating systems this would be done through the curses interface:
>>
>> http://docs.python.org/library/curses.html

>
> Or using ANSI colour codes:
>
> colours = {

<snip>
> ¬* ¬* ¬* ¬* ¬* ¬*'beep' ¬* ¬* ¬* : ¬* ¬*"\007",


Sound is a color? Maybe if you have synaesthesia...

Cheers,
Chris
--
http://blog.rebertia.com
 
Reply With Quote
 
Nobody
Guest
Posts: n/a
 
      07-11-2009
On Fri, 10 Jul 2009 09:23:54 +0000, garabik-news-2005-05 wrote:

>>> I would like to learn a way of changing the colour of a particular
>>> part of the output text. I've tried the following

>
>> On Unix operating systems this would be done through the curses interface:
>>
>> http://docs.python.org/library/curses.html

>
> Or using ANSI colour codes:
>
> colours = {
> 'none' : "",
> 'default' : "\033[0m",
> 'bold' : "\033[1m",


[snip]

> # non-standard attributes, supported by some terminals


This comment should have appeared immediately after "none"

Hard-coding control/escape sequences is just lame. Use the curses modules
to obtain the correct sequences for the terminal.

 
Reply With Quote
 
Jean-Michel Pichavant
Guest
Posts: n/a
 
      07-15-2009
Nobody wrote:
> On Fri, 10 Jul 2009 09:23:54 +0000, garabik-news-2005-05 wrote:
>
>
>>>> I would like to learn a way of changing the colour of a particular
>>>> part of the output text. I've tried the following
>>>>
>>> On Unix operating systems this would be done through the curses interface:
>>>
>>> http://docs.python.org/library/curses.html
>>>

>> Or using ANSI colour codes:
>>
>> colours = {
>> 'none' : "",
>> 'default' : "\033[0m",
>> 'bold' : "\033[1m",
>>

>
> [snip]
>
>
>> # non-standard attributes, supported by some terminals
>>

>
> This comment should have appeared immediately after "none"
>
> Hard-coding control/escape sequences is just lame. Use the curses modules
> to obtain the correct sequences for the terminal.
>
>

As the OP I'm really interested in doing so. I currently have all my
colors hard-coded.
Now It may be lame but as soon as I call curses.initscr(), it's just
messing up with my terminal, moreover I didn't figure out how to "print
'hello'" using curses color codes.
Anyone has an example ? I'm pretty sure it may fit in one line.

JM


 
Reply With Quote
 
Nobody
Guest
Posts: n/a
 
      07-15-2009
On Wed, 15 Jul 2009 17:03:30 +0200, Jean-Michel Pichavant wrote:

>> Hard-coding control/escape sequences is just lame. Use the curses modules
>> to obtain the correct sequences for the terminal.
>>
>>

> As the OP I'm really interested in doing so. I currently have all my
> colors hard-coded.
> Now It may be lame but as soon as I call curses.initscr(), it's just
> messing up with my terminal,


Use curses.setupterm() to locate and parse the terminfo/termcap entry
without entering "curses mode". Most curses functions won't work without
calling initscr(), but the terminfo functions will.

> moreover I didn't figure out how to "print
> 'hello'" using curses color codes.
> Anyone has an example ? I'm pretty sure it may fit in one line.


#!/usr/bin/env python
import curses
curses.setupterm()
setaf = curses.tigetstr('setaf')
if not setaf:
setaf = ''
print (curses.tparm(setaf,1) + "hello, " +
curses.tparm(setaf,2) + "world" +
curses.tparm(setaf,0))


 
Reply With Quote
 
Albert van der Horst
Guest
Posts: n/a
 
      08-02-2009
In article <(E-Mail Removed)>,
Jean-Michel Pichavant <(E-Mail Removed)> wrote:
>Nobody wrote:
>> On Fri, 10 Jul 2009 09:23:54 +0000, garabik-news-2005-05 wrote:
>>
>>
>>>>> I would like to learn a way of changing the colour of a particular
>>>>> part of the output text. I've tried the following
>>>>>
>>>> On Unix operating systems this would be done through the curses interface:
>>>>
>>>> http://docs.python.org/library/curses.html
>>>>
>>> Or using ANSI colour codes:
>>>
>>> colours = {
>>> 'none' : "",
>>> 'default' : "\033[0m",
>>> 'bold' : "\033[1m",
>>>

>>
>> [snip]
>>
>>
>>> # non-standard attributes, supported by some terminals
>>>

>>
>> This comment should have appeared immediately after "none"
>>
>> Hard-coding control/escape sequences is just lame. Use the curses modules
>> to obtain the correct sequences for the terminal.
>>
>>

>As the OP I'm really interested in doing so. I currently have all my
>colors hard-coded.
>Now It may be lame but as soon as I call curses.initscr(), it's just
>messing up with my terminal, moreover I didn't figure out how to "print
>'hello'" using curses color codes.
>Anyone has an example ? I'm pretty sure it may fit in one line.


In general initscr() ought to work. It fails if it has no/a wrong
idea of what your terminal is.

In the same shell as you run run your program type

set | grep -i term

Now some entry should show up, e.g.
TERM=xterm

infocmp $TERM

should fetch information about your terminal, from the same source
as curses does.

Possible problems are:
- your operating system/configurations lies to curses about the terminal
or your terminal is not specified at all
- curses has not been properly installed and cannot find the database

Groetjes Albert


>
>JM
>
>



--
--
Albert van der Horst, UTRECHT,THE NETHERLANDS
Economic growth -- being exponential -- ultimately falters.
albert@spe&ar&c.xs4all.nl &=n http://home.hccnet.nl/a.w.m.van.der.horst

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
What is the point of having 16 bit colour if a computer monitor can only display 8 bit colour? How do you edit 16 bit colour when you can only see 8 bit? Scotius Digital Photography 6 07-13-2010 03:33 AM
Changing the font of text in richtextbox without affecting thepresent colour of text Gouri.Mahajan7@gmail.com ASP .Net 0 06-05-2008 08:16 AM
Getting default colour for <input> - or just the old colour jodleren Javascript 2 01-12-2008 02:57 PM
Colour blindness, photography and colour management Tor Lillqvist Digital Photography 12 05-24-2004 08:57 AM
form text field background colour Derek Johnson HTML 6 09-22-2003 09:48 AM



Advertisments