Pregunta

¿Hay una manera de pegar un bloque de código en IDLE? Pegar línea por línea funciona, pero a veces me gustaría pegar muchas líneas a la vez. Cuando lo intento, IDLE lee la primera línea e ignora el resto.

>>> a = 1
b = 2
c = 3

>>> 
>>> a
1
>>> b

Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    b
NameError: name 'b' is not defined
¿Fue útil?

Solución

Probablemente no sea el procedimiento más hermoso, pero esto funciona:

cmds = '''

pega tus comandos, seguido de '' ':

a = 1
b = 2
c = 3
'''

Luego exec (cmds) los ejecutará.

O más directamente,

exec('''

luego pegue sus comandos, seguido de '' '') :

a = 1
b = 2
c = 3
''')

Es solo un truco, tal vez haya una forma más oficial y elegante.

Otros consejos

IdleX proporciona la extensión PastePyShell.py para IDLE que permite pegar varias líneas en el shell para su ejecución.

scroll top