使用VS Code运行Python 2.7代码出现IOError: [Errno 0] Error求助
嘿,作为曾经踩过VS Code + Python 2.7坑的过来人,给你几个靠谱的排查方向:
确认VS Code用的是正确的Python 2.7解释器
有时候VS Code会自动关联系统里的其他Python版本(比如Python 3),哪怕你写的是Python 2的语法。你可以点击VS Code左下角状态栏显示的Python版本号,在弹出的列表里选中你安装的Python 2.7解释器,确保运行环境和代码版本完全匹配。规避控制台缓冲区溢出问题
你循环打印1000次内容,VS Code的输出窗口/终端在处理大量连续输出时,偶尔会触发这种奇怪的IO错误。可以先做个小测试:把循环次数改成range(100),如果小范围运行没问题,那大概率是缓冲区的锅。
临时解决的话,你可以把输出写到文件里代替控制台打印,代码改成:for i in range(1000): print >> open('output.txt', 'a'), i运行后去当前代码目录找
output.txt就能看到结果,这样绕开控制台输出的限制。调整VS Code终端缓冲区设置
如果是终端缓冲区的问题,你也可以直接修改VS Code的配置:按下Ctrl+,打开设置,搜索“terminal buffer size”,找到「Terminal > Integrated: Scrollback」选项,把数值调大(比如改成10000),保存设置后重启VS Code再试试。检查Python插件状态
旧版本的VS Code Python插件对Python 2.7的支持偶尔会出bug,你可以试试卸载当前的Python插件,重启VS Code后重新安装(如果最新插件对2.7支持不好,可以找历史版本安装,不过先试试重装最新版再说)
内容的提问来源于stack exchange,提问作者Sam

