Python含try-except的循环代码在PyCharm正常VS Code异常,求排查
排查VS Code中Python while-try代码运行异常的问题
这段包含while循环和try-except结构的Python代码在PyCharm中运行正常,但在VS Code(已确认Python版本为3.9)里出现异常:运行时输入提示符后意外出现print(f"x is {x}")内容,且输入有效整数后未执行最后的打印语句。
原代码
while True: try: x = int(input("What is x? ")) except ValueError: print("x is not an integer") else: break print(f"x is {x}")
VS Code异常输出
What is x? print(f"x is {x}") x is not an integer What is x? 50
预期正常输出
What is x? cat x is not an integer What is x? 45 x is 45
排查解决步骤
检查代码运行方式
大概率是误将代码在**交互式Python窗口(REPL)**中逐行执行了,而非作为完整脚本运行。REPL会逐行解析代码,当执行到print(f"x is {x}")时,会把这行内容当成input()的输入值,导致异常。
解决:右键代码编辑器区域,选择「Run Python File in Terminal」,以完整脚本形式在终端运行。核对代码一致性
确认VS Code中打开的代码和PyCharm中的完全一致,没有误将print(f"x is {x}")弄到input()的输入区域,或出现缩进、换行错误。确认Python解释器配置
按下Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(Mac),输入「Python: Select Interpreter」,确认选中的确实是Python 3.9版本的解释器。重置VS Code Python插件配置
若以上步骤无效,可尝试:- 关闭VS Code,删除项目根目录下的
.vscode文件夹 - 重新打开VS Code,重新配置Python解释器后再运行代码
- 关闭VS Code,删除项目根目录下的
内容的提问来源于stack exchange,提问作者Michael Jack Murphy
相关产品推荐
相关产品推荐

