2016-02-14 2 views
1

Маска «Вставить маску» для вставки многострочного ввода работает с IPython 2, но не работает с консолью Jupyter (на Mac OSX El Capitan).Как вставить многострочный вход в консоль Jupyter?

~ > jupyter console 
Jupyter Console 4.1.0 


In [1]: %paste 
ERROR: Line magic function `%paste` not found. 

In [2]: 

Выполнение вывода% lsmagic, в котором перечислены все магические команды, действительно не отображается% paste.

Я попытался напрямую вставить, но отступы перепутались, поэтому нужно что-то вроде% paste. Проверка official documentation (обновлено всего 5 дней назад) слово «паста» даже не упоминается.

Итак, как вы вставляете многострочный вход в консоль?

ответ

-1

Хорошо. Нашел решение. Консоль Jupyter имеет мануал% cpaste, которая ведет себя немного иначе, чем предыдущая папка%, но выполняет задание.

%cpaste: 
Paste & execute a pre-formatted code block from clipboard. 

You must terminate the block with '--' (two minus-signs) or Ctrl-D 
alone on the line. You can also provide your own sentinel with '%paste 
-s %%' ('%%' is the new sentinel for this operation). 

The block is dedented prior to execution to enable execution of method 
definitions. '>' and '+' characters at the beginning of a line are 
ignored, to allow pasting directly from e-mails, diff files and 
doctests (the '...' continuation prompt is also stripped). The 
executed block is also assigned to variable named 'pasted_block' for 
later editing with '%edit pasted_block'. 

You can also pass a variable name as an argument, e.g. '%cpaste foo'. 
This assigns the pasted block to variable 'foo' as string, without 
dedenting or executing it (preceding >>> and + is still stripped) 

'%cpaste -r' re-executes the block previously entered by cpaste. 
'%cpaste -q' suppresses any additional output messages. 

Do not be alarmed by garbled output on Windows (it's a readline bug). 
Just press enter and type -- (and press enter again) and the block 
will be what was just pasted. 

IPython statements (magics, shell escapes) are not supported (yet). 

See also 
-------- 
paste: automatically pull code from clipboard. 

Examples 
-------- 
:: 

    In [8]: %cpaste 
    Pasting code; enter '--' alone on the line to stop. 
    :>>> a = ["world!", "Hello"] 
    :>>> print " ".join(sorted(a)) 
    :-- 
    Hello world!