[IPython-User] Pretty print as default print function

Gökhan Sever gokhansever@gmail....
Sat Nov 17 13:51:53 CST 2012


Yes, this is the solution that I will follow as long as I continue with
Python 2.x series.

Thanks.

On Sat, Nov 17, 2012 at 12:55 AM, Aaron Meurer <asmeurer@gmail.com> wrote:

> So just write a custom pprint() function (or call it whatever you want),
> and call it instead of print.
>
> Aaron Meurer
>
>
> On Thu, Nov 15, 2012 at 8:28 PM, Gökhan Sever <gokhansever@gmail.com>wrote:
>
>> Hi,
>>
>> This works fine for a single array printing, but I want to be able to
>> execute a script and have arrays printed in this form.
>>
>> I think, its best to wait for Python 3 adaption, or adapt my scripts to
>> Py3 in order to achieve this with the least amount of extra coding :)
>>
>> On Sat, Nov 10, 2012 at 1:42 AM, Aaron Meurer <asmeurer@gmail.com> wrote:
>>
>>> Why not just use the regular IPython display hook, and not use print,
>>> i.e., just call the object like
>>>
>>> In [1]: findgen(5)
>>> Out[1]:      0.00000      1.00000      2.00000      3.00000      4.00000
>>>
>>> If you insist on using print, one option would be to just monkey-patch
>>> array.__str__.
>>>
>>> Aaron Meurer
>>>
>>>
>>>
>>> On Sat, Nov 10, 2012 at 1:34 AM, Carl Smith <carl.input@gmail.com>wrote:
>>>
>>>> Can you not redirect stdout to a method with something like...
>>>>
>>>> class StandardOut(object):
>>>>
>>>>     def __init__(self): pass
>>>>
>>>>     def write(self, string):
>>>>         do_stuff()
>>>>
>>>> I'm not sure if that'll work. Just thinking out loud really.
>>>>
>>>> On 10 November 2012 08:17, Thomas Kluyver <takowl@gmail.com> wrote:
>>>> > The only thing I can think of is to hack an ast transformation into
>>>> %run, to
>>>> > turn print statements into calls to a function you've defined.
>>>> >
>>>> > The good news is that a lot of scientific python packages now support
>>>> python
>>>> > 3.
>>>> >
>>>> > Thanks,
>>>> > Thomas
>>>> >
>>>> > On Nov 10, 2012 1:10 AM, "Gökhan Sever" <gokhansever@gmail.com>
>>>> wrote:
>>>> >>
>>>> >> Thanks for the reply Thomas.
>>>> >>
>>>> >> I still use Python 2.7, along with all of the scientific Python
>>>> stack.
>>>> >>
>>>> >> Do you think is there a simple way to modify IPython's "run" command
>>>> so
>>>> >> that output's pretty printed just like IPython shell?
>>>> >>
>>>> >>
>>>> >> On Fri, Nov 9, 2012 at 2:28 AM, Thomas Kluyver <takowl@gmail.com>
>>>> wrote:
>>>> >>>
>>>> >>> In python 3, you can replace the builtin print function. I don't
>>>> know of
>>>> >>> any way to modify the behaviour of print statements in python 2.
>>>> >>>
>>>> >>> Thomas
>>>> >>>
>>>> >>> On Nov 9, 2012 6:59 AM, "Gökhan Sever" <gokhansever@gmail.com>
>>>> wrote:
>>>> >>>>
>>>> >>>> Hello,
>>>> >>>>
>>>> >>>> I would like to be able print NumPy arrays matching the IDL's array
>>>> >>>> print outout. For instance:
>>>> >>>>
>>>> >>>> IDL> print, findgen(5)
>>>> >>>>       0.00000      1.00000      2.00000      3.00000      4.00000
>>>> >>>> IDL> print, dindgen(5)
>>>> >>>>        0.0000000       1.0000000       2.0000000       3.0000000
>>>> >>>> 4.0000000
>>>> >>>>        0.0000000       1.0000000       2.0000000       3.0000000
>>>> >>>> 4.0000000
>>>> >>>>
>>>> >>>>
>>>> >>>> I1 np.arange(5, dtype='float64')
>>>> >>>> O1        0.0000000       1.0000000       2.0000000       3.0000000
>>>> >>>> 4.0000000
>>>> >>>>
>>>> >>>> I2 np.arange(5, dtype='float32')
>>>> >>>> O2       0.00000      1.00000      2.00000      3.00000
>>>>  4.00000
>>>> >>>>
>>>> >>>> Ignoring O1 and O2 lines, outputs (formatting) are matching. I
>>>> achieved
>>>> >>>> this by defining some custom pprint formatters in the IPy config
>>>> file.
>>>> >>>>
>>>> >>>> However, this is only valid within IPython while just typing array
>>>> >>>> names. For instance, running these lines revert the printing
>>>> settings back
>>>> >>>> to normal.
>>>> >>>>
>>>> >>>> Is there a way to make this type of customized printing default for
>>>> >>>> executing a file via Python? ie., can we replace python's print
>>>> statement
>>>> >>>> with pprint?
>>>> >>>>
>>>> >>>> If not, should I edit numpy/core/arrayprint.py and use a pythonrc
>>>> file
>>>> >>>> to achieve the effect?
>>>> >>>>
>>>> >>>> I am also interested in custom printing other data types than
>>>> nd.arrays.
>>>> >>>>
>>>> >>>> Thanks.
>>>> >>>>
>>>> >>>> --
>>>> >>>> Gökhan
>>>> >>>>
>>>> >>>> _______________________________________________
>>>> >>>> IPython-User mailing list
>>>> >>>> IPython-User@scipy.org
>>>> >>>> http://mail.scipy.org/mailman/listinfo/ipython-user
>>>> >>>>
>>>> >>>
>>>> >>> _______________________________________________
>>>> >>> IPython-User mailing list
>>>> >>> IPython-User@scipy.org
>>>> >>> http://mail.scipy.org/mailman/listinfo/ipython-user
>>>> >>>
>>>> >>
>>>> >>
>>>> >>
>>>> >> --
>>>> >> Gökhan
>>>> >>
>>>> >> _______________________________________________
>>>> >> IPython-User mailing list
>>>> >> IPython-User@scipy.org
>>>> >> http://mail.scipy.org/mailman/listinfo/ipython-user
>>>> >>
>>>> >
>>>> > _______________________________________________
>>>> > IPython-User mailing list
>>>> > IPython-User@scipy.org
>>>> > http://mail.scipy.org/mailman/listinfo/ipython-user
>>>> >
>>>> _______________________________________________
>>>> IPython-User mailing list
>>>> IPython-User@scipy.org
>>>> http://mail.scipy.org/mailman/listinfo/ipython-user
>>>>
>>>
>>>
>>> _______________________________________________
>>> IPython-User mailing list
>>> IPython-User@scipy.org
>>> http://mail.scipy.org/mailman/listinfo/ipython-user
>>>
>>>
>>
>>
>> --
>> Gökhan
>>
>> _______________________________________________
>> IPython-User mailing list
>> IPython-User@scipy.org
>> http://mail.scipy.org/mailman/listinfo/ipython-user
>>
>>
>
> _______________________________________________
> IPython-User mailing list
> IPython-User@scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-user
>
>


-- 
Gökhan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.scipy.org/pipermail/ipython-user/attachments/20121117/c2e74ffd/attachment.html 


More information about the IPython-User mailing list