classification
Title: pprint: add option to truncate sequences
Type: enhancement Stage: test needed
Components: Library (Lib) Versions: Python 3.3
process
Status: open Resolution:
Dependencies: 7434 Superseder:
Assigned To: Nosy List: anandjeyahar, ezio.melotti, giampaolo.rodola, rhettinger, santoso.wijaya, ssc, terry.reedy
Priority: normal Keywords:

Created on 2011-09-18 17:41 by terry.reedy, last changed 2013-07-12 06:31 by rhettinger.

Messages (4)
msg144247 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2011-09-18 17:41
From python-ideas thread "truncate sequences in pretty-print ?"
On Sat, Sep 17, 2011 at 9:59 PM, Steven Samuel Cole
> i use pprint quite a bit during development to give me quick insight
> into what is going on inside my application.
> however, when there's any sequences involved, the output becomes less
> useful the longer these sequences are - i often find myself scrolling
> around (or even searching) in the terminal window, trying to find the
> bit of output i am interested in.
>
> imo, it would be great if pprint had a parameter 'max_len' or so that
> reduces output of every sequence to a maximum and inserts something
> like '...' to indicate truncation, e.g.
> {'my key': ['my list item 01',
>            'my list item 02',
>            'my list item 03',
>            'my list item 04',
>            'my list item 05',
>            'my list item 06',
>            'my list item 07',
>            'my list item 08',
>            '...',
>            'my list item 10',]}
>
> somewhat comparable to the '...' already printed when a structure is
> more deeply nested than you want to know right now.

On 9/18/2011 10:59 AM, Guido van Rossum wrote:
Agreed, this would be a useful feature. I've reimplemented something
like pprint a few times and always had to implement this truncation
feature. If you or someone can contribute a patch that would be much
appreciated!
msg144316 - (view) Author: Raymond Hettinger (rhettinger) * (Python committer) Date: 2011-09-20 03:17
This needs to be part of the overall effort to build a better pprint.  See http://bugs.python.org/issue7434
msg144319 - (view) Author: anand jeyahar (anandjeyahar) Date: 2011-09-20 05:43
Umm... Excuse me but how is this max_length parameter different from the (existing)depth parameter? 
pformat(object,depth=3) seems to do the same thing.
msg144365 - (view) Author: Steven Samuel Cole (ssc) Date: 2011-09-21 03:49
@anand: as the names say, the depth parameter limits the depth of display while the length parameter limits the length.

for example, with a data structure of a list of lists of lists and a depth of 2, only the first two levels would be shown, the third list at the 'bottom' would be replaced by '...'

on the other hand, in a list with 10 entries and a length parameter of 5, only 5 list entries would be displayed.

@Raymond: agreed. i have squeezed max_len into the existing code and ported that back to 2.6 for my current project; while it works, it is a bad hack. i would much more prefer bundling efforts into an extensible pprint rewrite.
History
Date User Action Args
2013-07-12 06:31:16rhettingersetassignee: rhettinger ->
2011-12-15 17:20:33giampaolo.rodolasetnosy: + giampaolo.rodola
2011-09-21 03:49:55sscsetmessages: + msg144365
2011-09-20 08:33:57ncoghlansetdependencies: + general pprint rewrite
2011-09-20 05:43:21anandjeyaharsetnosy: + anandjeyahar
messages: + msg144319
2011-09-20 03:17:46rhettingersetassignee: rhettinger

messages: + msg144316
nosy: + rhettinger
2011-09-19 20:32:59santoso.wijayasetnosy: + santoso.wijaya
2011-09-19 09:22:42sscsetnosy: + ssc

title: pprint: add option to truncate seqeunces -> pprint: add option to truncate sequences
2011-09-18 17:42:01ezio.melottisetnosy: + ezio.melotti
2011-09-18 17:41:13terry.reedycreate