fstrings可以在python空闲时工作,但不能在Sublime文本上工作

2024-09-29 22:20:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚刚开始阅读《Python速成课程》的第二版,为了以防万一有人有这本书,我在第2章的“使用字符串中的变量”小节上

问题是,当我进去的时候

first_name = "ada"
last_name = "lovelace"
full_name = f"{first_name} {last_name}"
print(full_name)

在崇高的文本上,它应该输出

ada lovelace

但是,我收到了一个错误读数

  File "/Users/davidjiang/Code/Python/python_work/full_name.py", line 3
    full_name = f"{first_name} {last_name}"
                                          ^
SyntaxError: invalid syntax
[Finished in 0.1s with exit code 1]
[shell_cmd: python -u "/Users/davidjiang/Code/Python/python_work/full_name.py"]
[dir: /Users/davidjiang/Code/Python/python_work]
[path: /Library/Frameworks/Python.framework/Versions/3.8/bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin]

我已经通过插入

{ 
    "cmd": ["python3", "-u", "$file"], 
}

进入构建系统Python3.sublime-build。我的终端也在python3中运行

我还通过查找和使用this link explaining how to insert values into strings.确保我的代码没有任何错误 此外,我正在阅读的这本书附带了一系列在线资源,以补充本课程,包括开头编写的代码。当我通过pythonidle时,代码运行得很好

有人能解释一下为什么代码不能在崇高的文本上工作吗?提前谢谢

编辑:显然,我的崇高文本是运行python2而不是python3。由于输入上述代码似乎不起作用,有人对如何将Sublime更改为python3有什么建议吗


Tags: 代码name文本binusrcodeusersfull
3条回答

使用python Repl应该可以工作,因为它可以运行F字符串和输入。确保您将此用作附加组件,否则将无法使用。 使用这个应该会有所帮助- https://packagecontrol.io/packages/SublimeREPL

有一种方法可以下载Python3来升华文本。首先,您要转到buildsystem选项,然后一直向下滚动到“newbuildsystem”。从那里,它将打开一个新选项卡,并显示:{“shell_cmd”:“make”}。删除该选项,并将其替换为:

{
"cmd": ["python3", "-i", "-u", "$file"],
"file_regex": "^[ ]File \"(...?)\", line ([0-9]*)",
"selector": "source.python" }

然后保存,根据需要命名它(确保它保存为.sublime构建文件)。现在,您应该在构建系统中使用它。如果保存后它不在那里,则可能需要重新启动程序

在您的错误输出中,它被清楚地写入

[shell_cmd: python -u "/Users/davidjiang/Code/Python/python_work/full_name.py"]

这里的关键是shell命令是python而不是python3。因此,您没有运行正确的生成系统

{
    "shell_cmd": "python3 -u \"$file\"",
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python",

    "env": {"PYTHONIOENCODING": "utf-8"},

    "variants":
    [
        {
            "name": "Syntax Check",
            "shell_cmd": "python3 -m py_compile \"${file}\"",
        }
    ]
}

将其另存为python3.sublime-build(在Packages\User目录中)

使用ctrl+shift+b并选择python3

下次ctrl+b将自动使用python3

相关问题 更多 >

    热门问题