python-3.x 为什么VSCode Code Runner不支持f字符串?

k3fezbri  于 2023-06-07  发布在  Python
关注(0)|答案(3)|浏览(170)

我在VSCode和Code Runner扩展中遇到了这个问题,下面是导致这个问题的代码片段:

class init_error(Exception):
    def __init__(self, comp="Internals"):
        self.component = comp
        self.message = f"Error occurred while initiating {self.component}"

    def __str__(self):
        return self.message

我起初以为是把编译器搞错了,在Python2和Python3之间,但在指定#!/usr/bin/env python3并检查print("foo")是否工作后,我相当肯定这不是版本问题。我已经检查了Code Runner中的编译器设置为3.7.4 64-bit,所以我尝试通过Python扩展运行代码,并且它工作了,所以我相信这是Code Runner的问题。
很抱歉很长,但最后,f字符串没有红色下划线,它不会出现问题,因此出于某种原因,f字符串被认为是有效的语法,但并不只在Code Runner扩展中运行。
如何让Code Runner接受f字符串?
谢谢你的帮助
P.S.我不认为这是相关的,但我可以发誓它一个月前工作。

vcirk6k6

vcirk6k61#

下面是我在vs-Code中使用f字符串的步骤的链接
1.在扩展中搜索Code-Runner,然后单击齿轮图标“管理”,在下拉菜单中单击扩展设置

1.向下滚动到Code-runner Executor Map并单击settings.json中的Edit

1.在第67行将python -u更改为python3 -u

fnvucqvd

fnvucqvd2#

尝试添加settings.json:

"code-runner.executorMap": {
        "python": "$pythonPath -u $fullFileName"
    },
"code-runner.clearPreviousOutput": true,
"code-runner.showExecutionMessage": false,
"code-runner.ignoreSelection": true,
"code-runner.saveFileBeforeRun": true,
lx0bsm1f

lx0bsm1f3#

当我在vscode终端中使用时,也会发生这种情况:

python filename.py

然而,使用下面的,它的工作原理:

python3 filename.py

相关问题