pythonpython-idle

Pasting multiple lines into IDLE


Is there a way to paste a block of code into IDLE? Pasting line by line works, but sometimes I'd like to paste many lines at once. When I try, IDLE reads the first line and ignores the rest.

>>> 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

Solution

  • Probably not the most beautiful procedure, but this works:

    cmds = '''
    

    paste your commands, followed by ''':

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

    Then exec(cmds) will execute them.

    Or more directly,

    exec('''
    

    then paste your commands, followed by '''):

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

    It's just a trick, maybe there's a more official, elegant way.