bundles / IPython 9.10.0 / IPython / terminal / magics / TerminalMagics / cpaste
function
IPython.terminal.magics:TerminalMagics.cpaste
source: /IPython/terminal/magics.py :87
Signature
def cpaste ( self , parameter_s = '' ) Summary
Paste & execute a pre-formatted code block from clipboard.
Extended Summary
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.
Shell escapes are not supported (yet).
Examples
:: In [8]: %cpaste Pasting code; enter '--' alone on the line to stop. :>>> a = ["world!", "Hello"] :>>> print(" ".join(sorted(a))) :-- Hello world! :: In [8]: %cpaste Pasting code; enter '--' alone on the line to stop. :>>> %alias_magic t timeit :>>> %t -n1 pass :-- Created `%t` as an alias for `%timeit`. Created `%%t` as an alias for `%%timeit`. 354 ns ± 224 ns per loop (mean ± std. dev. of 7 runs, 1 loop each)See also
- paste
automatically pull code from clipboard.
Aliases
-
IPython.terminal.interactiveshell.TerminalMagics.cpaste