IPython Documentation

Table Of Contents

Previous topic

Module: testing.tools

Next topic

Module: utils.capture

This Page

Module: utils.PyColorize

Class and program to colorize python source code for ANSI terminals.

Based on an HTML code highlighter by Jurgen Hermann found at: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52298

Modifications by Fernando Perez (fperez@colorado.edu).

Information on the original HTML highlighter follows:

MoinMoin - Python Source Parser

Title: Colorize Python source using the built-in tokenizer

Submitter: Jurgen Hermann Last Updated:2001/04/06

Version no:1.2

Description:

This code is part of MoinMoin (http://moin.sourceforge.net/) and converts Python source code to HTML markup, rendering comments, keywords, operators, numeric and string literals in different colors.

It shows how to use the built-in keyword, token and tokenize modules to scan Python source code and re-emit it with no changes to its original formatting (which is the hard part).

1 Class

class IPython.utils.PyColorize.Parser(color_table=None, out=<open file '<stdout>', mode 'w' at 0x7ffacfa76150>)

Format colored Python source.

__init__(color_table=None, out=<open file '<stdout>', mode 'w' at 0x7ffacfa76150>)

Create a parser with a specified color table and output channel.

Call format() to process code.

format2(raw, out=None, scheme=u'')

Parse and send the colored source.

If out and scheme are not specified, the defaults (given to constructor) are used.

out should be a file-type object. Optionally, out can be given as the string ‘str’ and the parser will automatically return the output in a string.

1 Function

IPython.utils.PyColorize.main(argv=None)

Run as a command-line script: colorize a python file or stdin using ANSI color escapes and print to stdout.

Inputs:

  • argv(None): a list of strings like sys.argv[1:] giving the command-line arguments. If None, use sys.argv[1:].