Pasting multiple lines into IDLE

2019-01-23 11:28发布

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

3条回答
干净又极端
2楼-- · 2019-01-23 12:10

See this other post: Python, writing multi line code in IDLE You can use an editor (File > New File), write your lines of code there and use F5

查看更多
何必那么认真
3楼-- · 2019-01-23 12:18

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.

查看更多
Emotional °昔
4楼-- · 2019-01-23 12:21

IdleX provides the PastePyShell.py extension for IDLE which allows pasting of multiple lines into the shell for execution.

查看更多
登录 后发表回答