我一直在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。