代码在 Windows 10 上错误地粘贴到 IDLE shell

Code pasting incorrectly into IDLE shell on Windows 10

我试图将一些代码复制并粘贴到我的 Python shell 中,但是当粘贴超过一行时,我收到错误:SyntaxError: multiple statements found while compiling a single statement

我有一台电脑运行宁Windows 10.我一直很烦恼我不能复制粘贴代码和运行它

有什么办法可以把所有的代码分成不同的语句吗?好像我是逐行写的/每行分别复制粘贴的?

这是正在发生的事情:

问题源于 IDLE shell 处理 copy/paste 多行的方式。即,当用户按下 enter 键时,它会在每一行的末尾出现,这在复制代码时会导致问题。这个问题可以通过在 IDLE 中启动一个新文件,将代码复制粘贴到新的 window,将其保存为 .py 文件然后 运行 来自 cmd 的文件 python 'path\to\file'.

如果这能解决您的问题,请告诉我。

我认为Python没有加入环境变量,这是第一个要解决的问题。为此,请转到控制 Panel\Environment Variables\System 变量并将位置添加到您的 python.exe 文件。例如,在我的例子中,我使用的是 Anaconda,因此我将此 "C:\Users..\Anaconda3" 添加到环境变量中。首先,您需要知道 python 安装在哪里。

然后,打开新的命令提示符并写入:python。如果有效,您会看到 python 版本和其他详细信息。如果不是,则路径设置有问题。

之后,您可以运行包含您要执行的多行的文件。

希望对您有所帮助。

IDLE 中的'>>>'提示符表示"Enter one statement"。每当您点击输入代码的末尾时,无论是键入的还是粘贴的,IDLE 都会假定您已经完成了该操作,并尝试通过调用 compilemode='single' 将您的代码编译为单个语句。我已经考虑过如何处理多语句粘贴,但这是一个非常重要的问题。

目前,粘贴到编辑器 window,然后从那里粘贴 运行。我有一个用于此目的的暂存文件。我经常使用它,我通常可以从文件 => 最近的文件中加载它,点击 ^A(select 全部),^V(粘贴,在 Windows 上)和 F5.