VSCode终端执行Python基础命令提示‘name is not defined’求助
VSCode中Python input()报'name is not defined'的解决办法
问题根因
你开启Code Extension Terminal(即Code Runner的终端运行模式)后,代码执行到input()等待输入时,终端会把你输入的内容当成Python代码解析——比如你输入Alice,它会误认为这是一个变量名,自然找不到对应定义就报错。
解决步骤
- 修正Code Runner配置
- 按
Ctrl+,打开VSCode设置,搜索Code Runner: Run In Terminal,确认该选项处于勾选状态。 - 再搜索
Code Runner: Executor Map,找到Python对应的命令,修改为python -u "$file"——这个配置会让脚本直接运行,而非进入Python交互模式。如果是JSON格式的设置,具体修改如下:"code-runner.executorMap": { "python": "python -u \"$file\"" }
- 按
- 规范输入内容
代码运行后终端弹出输入提示时,直接输入内容即可,比如输入张三,不需要额外添加引号(除非你的代码逻辑本身要求输入带引号的字符串)。 - 检查代码语法
确保input()的用法正确,示例如下:
避免漏写变量赋值、拼写错误等低级问题。user_name = input("请输入你的名字: ") print(f"你好, {user_name}!")
备用方案
如果上述配置修改后仍有问题,可以直接手动在终端运行脚本:
- 按
Ctrl+打开终端,通过cd命令进入代码所在文件夹。 - 输入
python 你的文件名.py回车运行,再输入内容测试——这种方式能排除插件配置带来的干扰,结果更稳妥。
内容的提问来源于stack exchange,提问作者aazzzz444
相关产品推荐
相关产品推荐

