Console2和Ipython输出问题

时间:2009-02-27 12:03:35

标签: python console ipython console2

我一直在XP上使用Ipython作为我的命令行,哦......年龄!然而,作为一个眼睛糖果的吸盘我总是希望控制台窗口有点冷,例如就像Linux上的终端窗口一样。

今天我找到了Console2,心里充满了喜悦......

但是,在大/多行输出状态下有一些rotton。

当我尝试可能产生大型多线输出的东西时,例如别名命令或只是一个大型列表或字典,我得到这样的东西......

[c:/]|12> alias
Total number of aliases: 860
     <12>

我可以很容易地解决这个问题,例如。

[c:/]|19> aliases=_
[c:/]|20> pprint.pprint(aliases)
[('', '.up4vinst'),
 ('a2p', 'a2p'),
 ('accevent32', 'accevent32'),
 ('accevent9x', 'accevent9x'),
 ('accexplorer32', 'AccExplorer32'),
 ('accexplorer9x', 'AccExplorer9x'),
 ('accwiz', 'accwiz'),
 etc...

但这很不方便。我不确定故障是使用Console2还是使用Ipython,因为我已经看到了带有标准cmd shell的大数据列表的这个问题。

有人对如何“修复”这个有任何想法吗?

嗯!因此,一些进一步的调查表明,IPython将处理的输出大小有限......

我写了这个非常快速的函数来生成一个包含指定数量字符的列表......

def big_list( size ):
    my_string = "abcdefghigklmnopqrstuvwzyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
    fricking_big_list=[]
    step_size = len(my_string)
    for x in xrange(step_size, size, step_size):
        fricking_big_list.append(my_string)

    remainder= size - ((size / step_size) * step_size)
    if remainder:
        fricking_big_list.append(my_string[0:remainder])

    return fricking_big_list

我从命令行运行它,就像这样......

[c:/]|206> result = big_list(17909)
[c:/]|207> result
     <207>
[c:/]|208> len(result)
     <208> 345

...并且列表中共有17909个字符,它不会显示“结果”。但是,如果我只少了一个炭......

[c:/]|209> result = big_list(17908)
[c:/]|210> result
     <210>
['abcdefghigklmnopqrstuvwzyzABCDEFGHIJKLMNOPQRSTUVWXYZ',
 'abcdefghigklmnopqrstuvwzyzABCDEFGHIJKLMNOPQRSTUVWXYZ',
.
. [snipped]
.
 'abcdefghigklmnopqrstuvwzyzABCDEFGHIJKLMNOPQRSTUVWXYZ',
 'abcdefghigklmnopqrstuvwzyzABCDEFGHIJKLMNOPQRSTUVWXYZ',
 'abcdefghigklmnopqrst']
[c:/]|211>

然后Ipython将显示'result'var。

0 个答案:

没有答案