IPython – 打印默认值为长变量打印头尾
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了IPython – 打印默认值为长变量打印头尾,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1426字,纯文字阅读大概需要3分钟。
内容图文
![IPython – 打印默认值为长变量打印头尾](/upload/InfoBanner/zyjiaocheng/771/7f69e4eebf564edc9ce17445344fdf0b.jpg)
(仅适用于IPython,无论是终端还是QTConsole,而不是Notebook)有没有办法让常规打印语句(是的,2.7)自动打印变量的头部和尾部(甚至只是头部)一些任意大小?
如果我在庞大的pandas数据帧上打印数据帧,pandas会自动打印头部.我希望它也可以在列表和numpy数组上工作,这样下次我不小心意外地打印出一个巨大的数组时,我不会得到100页的数字. (我确信我可以编写一个函数来执行此操作,但我反复使用print,所以我想知道是否有办法控制IPython将显示多少 – 实际上,我宁愿改变控制台显示的内容而不是该计划正在做什么.)
解决方法:
你不能用print语句做很多事情,但你可以对ipython的输出做些什么,考虑这些命令:
In [13]: x = range(3)
In [14]: x
Out[14]: [0, 1, 2]
In [15]: print x
[0, 1, 2]
首先,x将[14]赋值给表达式的值,然后显示Out [14].
你可以破解ipython以不同的方式显示它.据我所知,ipython内部使用pprint或其副本.简单的猴子修补pprint.pprint / pprint.pformat / pprint.PrettyPrinter虽然不起作用.你需要适当地破解ipython.
其次,print x直接进入Python的核心.在python 2.x中,你不能改变打印的作用.在python 3.x中,print()只是一个函数,你可以对其进行修补.
如果您打印的是您自己类的对象,请随意重新定义__str__和__repr__,如numpy所做的那样:
numpy.set_printoptions(threshold=2)
numpy.array(range(10)).__str__()
'[0 1 2 ..., 7 8 9]'
print numpy.array(range(10))
[0 1 2 ..., 7 8 9]
最后,ipython附带%page magic命令,您可以发出%page x,如果x的表示足够大,您将被删除到较少或类似的寻呼机,您可以一次查看一页的此文本表示.
附: ipython可以通过“traits”进行扩展,它对我来说仍然是魔法,但也许你可以使用traits解决第一种情况.
内容总结
以上是互联网集市为您收集整理的IPython – 打印默认值为长变量打印头尾全部内容,希望文章能够帮你解决IPython – 打印默认值为长变量打印头尾所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。