Я использую Ipython для своей командной строки в XP уже давно, о! Тем не менее, будучи любителем приятных глаз, я всегда хотел, чтобы окно консоли было немного прохладнее, например. как окно терминала в Linux.
Сегодня я нашел Консоль2 и мое сердце наполнилось радостью ...
Однако в состоянии большого / многострочного вывода есть что-то тухлое.
Когда я пытаюсь что-то, что может привести к большому многострочному выводу, например команда псевдонимов или просто большой список или dict, я получаю такие вещи ...
[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.
У кого-нибудь есть идеи о том, как это исправить?
Ммм! Таким образом, некоторые дальнейшие исследования показывают, что существует ограничение на размер вывода, который 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».