Strip `>>>` and `...` when pasting to REPL

Abierto
#157,612 8 comentarios 7 reacciones 1 asignado Ver en GitHub

@johnslavik ya está trabajando en esto.

Desde el 16/9/2026.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

stdlib topic-repl type-feature

Feature or enhancement

Proposal:

I often find myself wanting to paste some REPL code straight into the REPL, but both >>> and ... are preserved, and I have to manually cut those.

Let's consider stripping these automatically omitting the outputs, if the current prompt is empty.

E.g.

I copy this text:

>>> class A(object):
...     def __new__(self):
...         raise TypeError('i do not exist')
... 
>>> class B(A):
...     __new__ = object.__new__
...     def __init__(self, x):
...         self.x = x
... 
>>> B(1)

In the REPL, I'm not inside a string or anything:

>>>

I paste the text:

>>> class A(object):
...     def __new__(self):
...         raise TypeError('i do not exist')
... 
... class B(A):
...     __new__ = object.__new__
...     def __init__(self, x):
...         self.x = x
... 
... B(1)

Now I can edit it and run it.

This feature is a UX convenience and rough edges are expected:

  • >>> and ... are conventional prompt strings that I think are fine to hardcode (practicality beats purity)
  • lines from stdout starting with >>> or ... will be detected as REPL lines, but I don't think it's a problem at all
  • there are slight semantic differences around sys.displayhook and builtins._
Has this already been discussed elsewhere?

This is a minor feature, which does not need previous discussion elsewhere

Links to previous discussion of this feature:

No response

Linked PRs
  • gh-157615
Lenguaje dominante
Python
Estrellas
77.2k
Forks
36k
Merge medio
1 d 9 h
PR fusionados (30 d)
558

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de python/cpython

Todos los issues de python/cpython

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.