Python 错误中的标准输入是什么意思?

What does stdin mean in Python Errors?

例如,当我遇到语法错误时,我会得到这段文本:

  File "<stdin>", line 1, in ?
    while True print('Hello world')
        while True print('Hello world')
                       ^
SyntaxError: invalid syntax

我做了一些研究,发现有三个标准流。

"三个I/O连接分别称为标准输入(stdin)、标准输出(stdout)和标准错误(stderr)。"

为什么这不是标准错误?

因为代码的来源是标准输入,例如它是在控制台输入的。

您的 while 需要冒号 (:)。你在 stdin 收到错误,因为你在命令行上输入脚本,而 python (你输入文本的 python 命令)正在从它的 stdin 流(即终端)。您在 Python 的 stdin 中输入了一个错误,它会告诉您。

while True:
    print('Hello world')