当我使用ipython terminal
并想要打印一个numpy.ndarray
它有很多列,行会在大约 80 个字符处自动断行(即行的宽度为 cca 80 个字符):
z = zeros((2,20))
print z
据推测,ipython 预计我的终端有 80 列。但事实上,我的终端宽度为 176 个字符,我想使用完整宽度。
我尝试更改以下参数,但这没有效果:
c.PlainTextFormatter.max_width = 160
我怎么知道ipython
使用我的终端的全宽?
我在用ipython 1.2.1
关于 Debian Wheezy
您可以使用以下命令查看当前的线宽
numpy.get_printoptions()['linewidth']
并设置它
numpy.set_printoptions(linewidth=160)
自动设置打印宽度
如果您希望自动设置终端宽度,可以让 Python 执行启动脚本。所以创建一个文件~/.python_startup.py
或者无论你想怎么称呼它,里面都有这个:
# Set the printing width to the current terminal width for NumPy.
#
# Note: if you change the terminal's width after starting Python,
# it will not update the printing width.
from os import getenv
terminal_width = getenv('COLUMNS')
try:
terminal_width = int(terminal_width)
except (ValueError, TypeError):
print('Sorry, I was unable to read your COLUMNS environment variable')
terminal_width = None
if terminal_width is not None and terminal_width > 0:
from numpy import set_printoptions
set_printoptions(linewidth = terminal_width)
del terminal_width
并让Python每次都执行这个,打开你的~/.bashrc
文件,并添加
# Instruct Python to execute a start up script
export PYTHONSTARTUP=$HOME/.python_startup.py
# Ensure that the startup script will be able to access COLUMNS
export COLUMNS
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)