IPython 控制台打印带有换行符的元素列表,以便每个元素都显示在自己的行中。这通常是一个特性,但在我的情况下它是一个错误:我需要复制和粘贴长列表,所以我需要一个紧凑的表示。我怎样才能做到这一点?
问问题
26535 次
3 回答
50
您可以使用%pprint
命令打开/关闭 pprint 功能:
In [1]: range(24)
Out[1]:
[0,
1,
2,
...
21,
22,
23]
In [2]: %pprint
Pretty printing has been turned OFF
In [3]: range(24)
Out[3]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]
如果要永久关闭pprint
,请创建配置文件,然后添加c.PlainTextFormatter.pprint = False
到配置文件中。
Linux 示例:
$ ipython profile create
[ProfileCreate] Generating default config file: '.../ipython_config.py'
[ProfileCreate] Generating default config file: u'..../ipython_notebook_config.py'
$ echo 'c.PlainTextFormatter.pprint = False' >> ~/.ipython/profile_default/ipython_config.py
于 2013-09-25T16:17:52.070 回答
4
ipython
从--no-pprint
选项开始。
$ ipython --no-pprint
...
IPython 0.13.2 -- An enhanced Interactive Python.
...
In [1]: lis = ['a'*10]*10
In [2]: lis
Out[2]: ['aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa']
另一个选项是使用选项启动 ipython --classic
,因为pprint
它已经被禁用:
$ ipython --classic
...
IPython 0.13.2 -- An enhanced Interactive Python.
...
>>> lis = ['a'*10]*10
>>> lis
['aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa']
于 2013-09-25T16:14:07.993 回答
4
完全关闭漂亮打印的另一种方法是max_width
增加PlainTextFormatter
.
将以下内容添加到ipython_config.py
(通过 查找ipython locate profile
):
c.PlainTextFormatter.max_width = 120
这将允许漂亮的打印机通过允许行扩展到 120 个字符而不是默认的 79 个字符来使用更少的垂直空间。
于 2017-10-25T06:11:22.323 回答