summaryrefslogtreecommitdiffstats
path: root/Doc/library/pprint.rst
diff options
context:
space:
mode:
authorChristian Heimes <christian@cheimes.de>2007-12-05 20:18:38 (GMT)
committerChristian Heimes <christian@cheimes.de>2007-12-05 20:18:38 (GMT)
commitb9eccbfe2a90c6e37d0e1c767985933ea79026f8 (patch)
treea41ea633b42df6aa79d99d3814840d88ca51a8b8 /Doc/library/pprint.rst
parenta5ea385bcf5c8f9f9e8229f253f57a4b1052123b (diff)
downloadcpython-b9eccbfe2a90c6e37d0e1c767985933ea79026f8.zip
cpython-b9eccbfe2a90c6e37d0e1c767985933ea79026f8.tar.gz
cpython-b9eccbfe2a90c6e37d0e1c767985933ea79026f8.tar.bz2
Merged revisions 59333-59370 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r59343 | georg.brandl | 2007-12-05 08:02:47 +0100 (Wed, 05 Dec 2007) | 2 lines Fix typo. ........ r59347 | christian.heimes | 2007-12-05 13:31:44 +0100 (Wed, 05 Dec 2007) | 1 line Fixed quoting and paths in the sqlite project file ........ r59348 | christian.heimes | 2007-12-05 13:45:11 +0100 (Wed, 05 Dec 2007) | 1 line Fixed error in regrtest. I must have missed the spot. ........ r59350 | christian.heimes | 2007-12-05 13:49:14 +0100 (Wed, 05 Dec 2007) | 1 line merge -r59315:59316 from py3k: Fix issue #1553: An errornous __length_hint__ can make list() raise a SystemError ........ r59352 | christian.heimes | 2007-12-05 13:52:34 +0100 (Wed, 05 Dec 2007) | 1 line Added msg to Misc/NEWS ........ r59354 | andrew.kuchling | 2007-12-05 14:27:20 +0100 (Wed, 05 Dec 2007) | 1 line Spelling fix ........ r59356 | georg.brandl | 2007-12-05 18:56:50 +0100 (Wed, 05 Dec 2007) | 3 lines Add examples to csv, pprint and traceback docs. Written by Ross for GHOP. ........ r59358 | raymond.hettinger | 2007-12-05 19:11:08 +0100 (Wed, 05 Dec 2007) | 1 line Error checking was too aggressive (reported by Chris Tismer) ........ r59359 | georg.brandl | 2007-12-05 19:30:48 +0100 (Wed, 05 Dec 2007) | 2 lines Add examples to re docs. Written for GHOP by Dan Finnie. ........ r59366 | georg.brandl | 2007-12-05 20:49:21 +0100 (Wed, 05 Dec 2007) | 2 lines Fix markup. ........ r59367 | christian.heimes | 2007-12-05 20:57:54 +0100 (Wed, 05 Dec 2007) | 1 line Updated documentation and build_tkinter.py script ........ r59368 | georg.brandl | 2007-12-05 21:03:57 +0100 (Wed, 05 Dec 2007) | 2 lines Another markup fix. ........ r59369 | ronald.oussoren | 2007-12-05 21:07:36 +0100 (Wed, 05 Dec 2007) | 7 lines This "fixes" compilation issues for the Carbon._OSA module on OSX Leopard by purging bindings to OSA's debug API's. Those APIs we're completely unsupported on OSX 10.4 and are no longer available on OSX 10.5. Note that this patches a generated file. This is somewhat acceptable because regenerating the file is non-trivial and wouldn't use system headers anyway. ........ r59370 | christian.heimes | 2007-12-05 21:10:38 +0100 (Wed, 05 Dec 2007) | 1 line Fixed bug #1557 by using popen.communicate() before popen.wait() ........
Diffstat (limited to 'Doc/library/pprint.rst')
-rw-r--r--Doc/library/pprint.rst71
1 files changed, 51 insertions, 20 deletions
diff --git a/Doc/library/pprint.rst b/Doc/library/pprint.rst
index d00caba..2e4f3f2 100644
--- a/Doc/library/pprint.rst
+++ b/Doc/library/pprint.rst
@@ -45,30 +45,23 @@ The :mod:`pprint` module defines one class:
structure cannot be formatted within the constrained width, a best effort will
be made. ::
- >>> import pprint, sys
- >>> stuff = sys.path[:]
+ >>> import pprint
+ >>> stuff = ['spam', 'eggs', 'lumberjack', 'knights', 'ni']
>>> stuff.insert(0, stuff[:])
>>> pp = pprint.PrettyPrinter(indent=4)
>>> pp.pprint(stuff)
- [ [ '',
- '/usr/local/lib/python1.5',
- '/usr/local/lib/python1.5/test',
- '/usr/local/lib/python1.5/sunos5',
- '/usr/local/lib/python1.5/sharedmodules',
- '/usr/local/lib/python1.5/tkinter'],
- '',
- '/usr/local/lib/python1.5',
- '/usr/local/lib/python1.5/test',
- '/usr/local/lib/python1.5/sunos5',
- '/usr/local/lib/python1.5/sharedmodules',
- '/usr/local/lib/python1.5/tkinter']
- >>>
- >>> import parser
- >>> tup = parser.ast2tuple(
- ... parser.suite(open('pprint.py').read()))[1][1][1]
+ [ ['spam', 'eggs', 'lumberjack', 'knights', 'ni'],
+ 'spam',
+ 'eggs',
+ 'lumberjack',
+ 'knights',
+ 'ni']
+ >>> tup = ('spam', ('eggs', ('lumberjack', ('knights', ('ni', ('dead',
+ ... ('parrot', ('fresh fruit',))))))))
>>> pp = pprint.PrettyPrinter(depth=6)
>>> pp.pprint(tup)
- (266, (267, (307, (287, (288, (...))))))
+ ('spam',
+ ('eggs', ('lumberjack', ('knights', ('ni', ('dead', ('parrot', (...,))))))))
The :class:`PrettyPrinter` class supports several derivative functions:
@@ -91,7 +84,8 @@ The :class:`PrettyPrinter` class supports several derivative functions:
within a scope). *indent*, *width* and *depth* will be passed to the
:class:`PrettyPrinter` constructor as formatting parameters. ::
- >>> stuff = sys.path[:]
+ >>> import pprint
+ >>> stuff = ['spam', 'eggs', 'lumberjack', 'knights', 'ni']
>>> stuff.insert(0, stuff)
>>> pprint.pprint(stuff)
[<Recursion on list with id=869440>,
@@ -200,3 +194,40 @@ are converted to strings. The default implementation uses the internals of the
is no requested limit. This argument should be passed unmodified to recursive
calls. The fourth argument, *level*, gives the current level; recursive calls
should be passed a value less than that of the current call.
+
+
+.. _pprint-example:
+
+pprint Example
+--------------
+
+This example demonstrates several uses of the :func:`pprint` function and its parameters.
+
+ >>> import pprint
+ >>> tup = ('spam', ('eggs', ('lumberjack', ('knights', ('ni', ('dead',
+ ... ('parrot', ('fresh fruit',))))))))
+ >>> stuff = ['a' * 10, tup, ['a' * 30, 'b' * 30], ['c' * 20, 'd' * 20]]
+ >>> pprint.pprint(stuff)
+ ['aaaaaaaaaa',
+ ('spam',
+ ('eggs',
+ ('lumberjack',
+ ('knights', ('ni', ('dead', ('parrot', ('fresh fruit',)))))))),
+ ['aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'],
+ ['cccccccccccccccccccc', 'dddddddddddddddddddd']]
+ >>> pprint.pprint(stuff, depth=3)
+ ['aaaaaaaaaa',
+ ('spam', ('eggs', ('lumberjack', (...)))),
+ ['aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'],
+ ['cccccccccccccccccccc', 'dddddddddddddddddddd']]
+ >>> pprint.pprint(stuff, width=60)
+ ['aaaaaaaaaa',
+ ('spam',
+ ('eggs',
+ ('lumberjack',
+ ('knights',
+ ('ni', ('dead', ('parrot', ('fresh fruit',)))))))),
+ ['aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',
+ 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'],
+ ['cccccccccccccccccccc', 'dddddddddddddddddddd']]
+