Вопрос

Есть ли способ вставить блок кода в IDLE? Вставка построчно работает, но иногда я хотел бы вставить сразу несколько строк. Когда я пытаюсь, IDLE читает первую строку и игнорирует остальные.

>>> 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
Это было полезно?

Решение

Вероятно, не самая красивая процедура, но это работает:

cmds = '''

вставьте свои команды, а затем '' ':

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

Тогда exec (cmds) выполнит их.

Или, точнее,

exec('''

затем вставьте свои команды, а затем '' ') :

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

Это просто хитрость, может быть, есть более официальный и элегантный способ.

Другие советы

IdleX предоставляет расширение PastePyShell.py для IDLE, которое позволяет вставлять несколько строк в оболочку для выполнения.

scroll top