在Spyder中控制iPython控制台的输出/分页?等价于Matlab中的更多(开/关)?

时间:2018-10-10 07:38:19

标签: python matlab ipython spyder

我的背景:Python的新手。使用SPYDER作为编辑器。

问题:当我在SPYDER中运行一段代码或打开一个帮助文件时,无法在iPython控制台窗口上控制分页。

对于使用过MATLAB的人:“更多(打开)”或“更多(关闭)”显示在“命令”窗口中的输出,直到页面末尾..空格键一次可以前进一行...这在读取帮助文件时特别有用。...我现在正在使用SPYDER,我想在编辑器“下方”的iPython控制台中执行相同的操作...

我搜索了最接近的帮助: Can't get ipython console in spyder

它们都不适用于SPYDER环境。有没有更简单的方法来设置SPYDER环境来做到这一点?还是有特定的命令可以这样做?到目前为止,在“运行/配置”和“工具/首选项”下的设置中进行谷歌搜索和弄乱是没有用的。

此外,如果有一种方法可以不使用print命令来打印变量的输出,请告诉我。

  
    

a = 1     打印(a)

  

要替换为?

请告知。

2 个答案:

答案 0 :(得分:0)

In [351]: a=1;a
Out[351]: 1

我一直使用ipython(但不使用spyder),也不用担心分页(当我打开八度音程时,我将其关闭)。

如果我给变量赋值,我不会得到清单(不用担心忘记添加消音;)。如果我要查看变量,或不带赋值输出,则接受整个列表,或采取措施限制显示(带有切片)。无论如何,大型的numpy数组都被压缩(带有椭圆)。如此漫长而无所事事的列表显示更令人讨厌。

Ipython文档和代码显示(带有?和??)已分页。常用的less样式的控件起作用。

In [354]: np.arange(1001)
Out[354]: array([   0,    1,    2, ...,  998,  999, 1000])

In [355]: list(range(100))
Out[355]:                    # ipython's pprint for long lists
[0,
 1,
 2,
 3,
 4,
 5,
 6,
 7,
...
In [356]: alist =list(range(100))
In [357]: alist[:10]
Out[357]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
In [358]: print(alist)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]

也许有一种方法可以打开list这样长的分页显示,但是我没有必要去寻找它。

Does iPython have built-in support for viewing a variable in pager?

Paging stdout output in IPython

答案 1 :(得分:0)

(此处为 Spyder维护人员),抱歉,没有这样的选项可以做。