This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2013年09月27日 11:41 by serhiy.storchaka, last changed 2022年04月11日 14:57 by admin.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| displayhook_pprint.patch | serhiy.storchaka, 2013年09月27日 11:41 | review | ||
| displayhook_pprint_2.patch | serhiy.storchaka, 2013年09月27日 14:11 | review | ||
| Messages (4) | |||
|---|---|---|---|
| msg198468 - (view) | Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) | Date: 2013年09月27日 11:41 | |
pprint.pprint() produces more human readable output than print(repr()) which is used in sys.displayhook(). The proposed patch changes sys.displayhook in site.py. You still can access original displayhook as sys.__displayhook__. |
|||
| msg198477 - (view) | Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) | Date: 2013年09月27日 14:11 | |
In second patch the COLUMNS environment variable is used to determine pprint's width. |
|||
| msg198556 - (view) | Author: Terry J. Reedy (terry.reedy) * (Python committer) | Date: 2013年09月28日 21:52 | |
(in the patch, import of sys and pprint should be done once at module level and not repeated with every line of interactive output). > pprint.pprint() produces more human readable output than print(repr()) which is used in sys.displayhook() Only sometimes, and when it is not, the result can be *much* worse. For instance, try list(range(40)) with the two options. On windows, pprint.pprint(list(range(300))) will not even fit in the default 300 line output buffer of the standard interpreter. This is not to mention doctest and other test breakage. I believe the majority consensus on python-ideas was to reject this until pprint is much improved, and then reconsider. I agree with that. As I said on the list, I think this is more feasible for environments (like Idle) where it could be turned on and off, or invoked to re-display an output where pprint *would* be better. |
|||
| msg198646 - (view) | Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) | Date: 2013年09月29日 20:22 | |
> (in the patch, import of sys and pprint should be done once at module level and not repeated with every line of interactive output). See a comment at the start of the Lib/_sitebuiltins.py file. Yes, importing sys in the function is redundant. > For instance, try list(range(40)) with the two options. Well, I have opened issue19132 for this. > This is not to mention doctest and other test breakage. AFAIK doctests doesn't test output longer than 80 characters. > I believe the majority consensus on python-ideas was to reject this until pprint is much improved, and then reconsider. There are other pprint-related issue which are opened long time without any progress (e.g. issue7434). I intend making progress on issues which are required for fixing pprint enough to be reasonable replacement for displayhook. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:57:51 | admin | set | github: 63302 |
| 2013年09月29日 20:22:18 | serhiy.storchaka | set | dependencies:
+ Add compact mode to pprint messages: + msg198646 |
| 2013年09月28日 21:52:43 | terry.reedy | set | nosy:
+ rhettinger |
| 2013年09月28日 21:52:05 | terry.reedy | set | nosy:
+ terry.reedy messages: + msg198556 |
| 2013年09月27日 15:12:04 | serhiy.storchaka | set | dependencies: + Use backslashreplace in pprint, pprint produces invalid output for long strings |
| 2013年09月27日 14:11:59 | serhiy.storchaka | set | files:
+ displayhook_pprint_2.patch messages: + msg198477 |
| 2013年09月27日 11:41:47 | serhiy.storchaka | create | |