将多行粘贴到IDLE中

foo*_*ion 27 python python-idle

有没有办法将一段代码粘贴到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
Run Code Online (Sandbox Code Playgroud)

Red*_*yph 35

可能不是最美丽的程序,但这有效:

cmds = '''
Run Code Online (Sandbox Code Playgroud)

粘贴您的命令,然后是''':

a = 1
b = 2
c = 3
'''
Run Code Online (Sandbox Code Playgroud)

然后exec(cmds)将执行它们.

或者更直接,

exec('''
Run Code Online (Sandbox Code Playgroud)

然后粘贴你的命令,然后是'''):

a = 1
b = 2
c = 3
''')
Run Code Online (Sandbox Code Playgroud)

这只是一个技巧,也许有更正式,更优雅的方式.

  • 是的,我经常遇到相同的问题,问自己一个相同的问题...当粘贴缩进的代码部分时,也会发生同样的情况,方法是通过键入“ if True:”然后粘贴代码来“解决”。有点肮脏的把戏;-) (2认同)

Rog*_*ger 7

IdleX为IDLE提供了PastePyShell.py扩展,允许将多行粘贴到shell中以便执行.


ale*_*s80 6

请参阅另一篇文章:Python,在 IDLE 中编写多行代码 您可以使用编辑器(文件 > 新文件),在那里编写代码行并使用 F5