提问人:user3213857 提问时间:1/20/2014 最后编辑:mkrieger1user3213857 更新时间:12/20/2022 访问量:176299
SyntaxError:编译单个语句时发现多个语句
SyntaxError: multiple statements found while compiling a single statement
问:
我在 Python 3.3 中,我只输入了以下 3 行:
import sklearn as sk
import numpy as np
import matplotlib.pyplot as plt
我收到此错误:
SyntaxError:编译单个语句时发现多个语句
我可能做错了什么?
截图:
答:
在 shell 中,不能一次执行多个语句:
>>> x = 5
y = 6
SyntaxError: multiple statements found while compiling a single statement
您需要逐个执行它们:
>>> x = 5
>>> y = 6
>>>
当您看到正在声明多个语句时,这意味着您看到的是一个脚本,该脚本将在稍后执行。但是在交互式解释器中,您一次不能执行多个语句。
评论
x=6 \n x=6
SyntaxError: unexpected character after line continuation character
一个(部分的)实际解决方法是把东西放到一个扔掉的函数中。
粘贴
x = 1
x += 1
print(x)
结果
>>> x = 1
x += 1
print(x)
File "<stdin>", line 1
x += 1
print(x)
^
SyntaxError: multiple statements found while compiling a single statement
>>>
但是,粘贴
def abc():
x = 1
x += 1
print(x)
工程:
>>> def abc():
x = 1
x += 1
print(x)
>>> abc()
2
>>>
当然,这对于快速的一次性操作是可以的,不适用于您可能想做的所有事情,等等。但是,去 / 可能是下一个最简单的选择。ipython
jupyter qtconsole
长期的解决方案是只使用另一个 GUI 来运行 Python,例如 IDLE 或 Emacs。M-x run-python
我有同样的问题。这在 mac(和 linux)上对我有用:
echo "set enable-bracketed-paste off" >> ~/.inputrc
评论
您正在使用交互式 shell,它一次允许在线。你可以做的是在每行之间加一个分号,就像这样 - .
或者您可以通过 control+n 创建一个新文件,您将在其中获得正常空闲状态。不要忘记在运行前保存该文件。保存 - control+s。然后从上面的菜单栏运行它 - 运行>运行模块。import sklearn as sk;import numpy as np;import matplotlib.pyplot as plt
我找到的解决方案是下载 Idlex 并使用其 IDLE 版本,该版本允许多行。
这最初被添加到问题的修订版 4 中。
我在 Windows 上通过 wsl 执行 python 代码。
对我有用的是切换到 Jupyter Notebook。很容易上手;然后使用 进行部署。
它允许将多行粘贴到每个“单元格”中,以及更多功能:pip install jupyter
jupyter notebook
评论