Python 3.6+;
Python 3.6+中的格式化字符串文本 我正在阅读格式化字符串文本(也称为f-string),这是Python 3.6更新中添加的一项功能。我发现阅读类似项目的方法比阅读前面的方法更容易,但是我在执行代码时遇到了困难。下面是我迄今为止所做工作的一个示例(test.py):Python 3.6+;,python,linux,python-3.x,ubuntu,f-string,Python,Linux,Python 3.x,Ubuntu,F String,Python 3.6+中的格式化字符串文本 我正在阅读格式化字符串文本(也称为f-string),这是Python 3.6更新中添加的一项功能。我发现阅读类似项目的方法比阅读前面的方法更容易,但是我在执行代码时遇到了困难。下面是我迄今为止所做工作的一个示例(test.py): #!/usr/bin/python3 greeting = 'Hello' name = 'World' message = f'{greeting}, {name}.' print(message) 如您所见,这
#!/usr/bin/python3
greeting = 'Hello'
name = 'World'
message = f'{greeting}, {name}.'
print(message)
如您所见,这是我用来更熟悉这个f-string
特性的简单代码。当我尝试运行此代码时,我不断收到以下错误:
File "/home/user/Desktop/Python/My Programs/test.py", line 5
message = f'{greeting}, {name}.'
^
SyntaxError: invalid syntax
[Finished in 0.0s with exit code 1]
现在,这个错误响应告诉我,最终(')是导致它无法正确运行的原因。我试着用不同的空间来划分它,看看它是否能像那样简单,但还是没有运气。下面是我用来编写和执行Python代码的设置:
文本编辑器:
我目前正在使用Sublime Text
,并添加了帮助编写Python3代码的功能。这些功能包括:BracketHighlighter
和Anaconda
包装。我还更改了Sublime文本中的一些设置,但我不认为这会导致此问题,因为我主要只更改了图形功能
附加服务:
起初,我认为Sublime Text可能试图用较低版本的Python执行Python3代码,所以当我试图在Ubuntu中通过终端执行它时,它仍然给了我同样的错误。我用以下代码执行代码:
python3 test.py
希望这是足够的信息,有人可以发现问题。我真的很想了解这些
f-strings
,因此非常感谢您的帮助。由于这些请求,我仔细检查了当前使用的Python版本:
import sys; print(sys.version)
其答复如下:
3.6.1 (default, Mar 22 2017, 06:17:05)
[GCC 6.3.0 20170321]
代码解决方案:
似乎解决我的问题的方法是将此添加到终端命令以执行它:
python3.6 test.py
以前我只有:
python3 test.py
这只是使用Python3.5.x来执行它。现在,当我使用python3.6时,一切都正常运行
卓越文本解决方案:
同样对于Sublime文本,我发现在它的工厂Python版本(3.5.x)上设置的是“构建系统”,但是我用以下代码创建了一个新的构建系统:
{
"cmd": ["/usr/bin/python3.6", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python"
}
一旦我保存了这个文件并选择了它,我就能够在Sublime中构建代码,而且没有问题。你的python3显然不是python3.6Put
import sys;打印(sys.version)
在脚本顶部(shebang下面),然后运行它并检查输出,看它是否不是Python3.6。