Python27在一个简单的for循环中打印出errno 0和2

3

我刚刚使用Python27在一个简单的for循环中打印变量。它可以打印出部分结果,但突然停止并显示了errno 0和2,这被描述为输出过程中的IOError。我对这个错误感到非常困惑。

以下是我的简单代码:

def checkPrint():
    for i in range(0,1000):
        print i

checkPrint()

以下是输出和错误信息:

0 . . . 287 288 289 290

最近一次的调用发生异常:
文件 ".\checkPrint.py",行号 5
checkPrint()
文件 ".\checkPrint.py",行号 3
print i

IOError: [Errno 0] Error

感谢您的帮助。


2
你能提供更多细节吗?这段代码没有问题,我认为在运行代码时与您的文件系统有关的某些东西出了问题。 - Oguz Ozcan
@M.OğuzÖzcan 我刚在vscode中运行了它。我已经尝试在powershell和IDLE中运行它。Powershell有时可以完全运行它而没有错误,但有时无法运行。而IDLE目前没有问题。我尝试重新安装Python和vscode,但无法解决这个问题。 - PaperElmo
你能尝试从命令行运行它吗? - Oguz Ozcan
@M.OğuzÖzcan 我已经尝试在PowerShell和IDLE中运行它。PowerShell有时可以完全运行而没有错误,但有时无法运行。而此时IDLE没有问题。我尝试重新安装Python和VSCode,但无法解决这个问题。 - PaperElmo
1
你解决了吗? - Dror Paz
2个回答

2
这可能不是提问者的场景,但我在使用Hyper 1.4.8(以powershell.exe为我的shell)运行复制脚本时,总是收到此错误。
在Hyper之外使用命令提示符或PowerShell可以避免此错误。

当使用VS Code运行简单的Python并将PowerShell作为默认集成终端时,也可能会发生这种情况。对我来说,解决方案是改用外部终端来运行它。 - DuKes0mE

0

这是一个Windows漏洞,已在Windows 10版本1803中修复。(请参见https://bugs.python.org/issue32245和https://github.com/Microsoft/vscode/issues/36630#issuecomment-385759625)它会影响使用调用WriteFile的代码路径的Python 3.6+,即os.write和传统标准I/O模式,并且始终会影响Python 2.7和Python 3.5。 - cowlinator

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接