IPython - 单线间距可能吗?

Tho*_*wne 10 command-prompt ipython

默认情况下,IPython shell在输入之间显示一个空行:

In [1]: 1 + 1
Out[1]: 2

In [2]: import math

In [3]: math.sqrt(2)
Out[3]: 1.4142135623730951

In [4]: 
Run Code Online (Sandbox Code Playgroud)

有没有办法配置IPython shell,以便它不会在每个命令历史记录之间产生空行?这将显着增加我在屏幕上可以看到的历史记录数量.

TCA*_*n07 7

对于Mac用户,可以在以下位置找到永久编辑的配置文件配置:/ Users /(您的用户名)/.ipython/profile_default/ipython_config.py

对于linux用户来说,它可能是一个几乎相同的路径,但使用/ home /而不是/ Users /.在命令行中使用'〜'将适用于任何一种情况(例如〜/ .ipython/...).

取消注释第164行并删除换行符,因此它说:

c.TerminalInteractiveShell.separate_in = ''
Run Code Online (Sandbox Code Playgroud)

虽然这是一个老问题,但它仍然适用于通过Google找到它的其他用户(比如我自己),所以我想为Mac和Linux用户添加这个答案.


Joh*_*uhy 5

您可以使用该--nosep选项。例如

C:\Python32\Scripts\ipython3.exe --nosep


小智 4

我正在 Windows 上工作,Alok 的摘录与我的这三行的默认内容没有什么不同%USERPROFILE%/_ipython/ipythonrc.ini

我宁愿改变路线:

separate_in \n
Run Code Online (Sandbox Code Playgroud)

到:

separate_in 0
Run Code Online (Sandbox Code Playgroud)

  • 这样可行。或者“nosep 1”,它是“separate_in 0”、“separate_out 0”和“separate_out2 0”的快捷方式(无论如何,最后两个默认为 0)。 (2认同)