在 PyDev Eclipse 中解析 f 字符串的语法错误
Syntax errors with parsing f-strings in PyDev Eclipse
我有一个在 Eclipse 中使用 PyDev 的 python 项目。对于如下示例代码,
var = 'element'
width = 11
print(f'{var:>{width}}')
代码被执行打印所需的输出element
,右对齐且没有错误。
但是,PyDev 解析此代码在 >
个字符处引发错误和一条错误消息 SyntaxError: Unbalanced '{'
。但自 6.3.1 版 (#PyDev-884) 以来,PyDev 确实支持 f 字符串中的双括号。如果我删除这个 >
字符,字符串将打印为 'left-aligned' (我不想要)并且 PyDev 不会引发任何错误。这证实 PyDev 确实支持双括号,但错误消息不正确。
另一方面,PEP 498 for f-strings 没有提到任何关于使用 f-strings 对齐的内容。对齐是 f 字符串语法的一部分吗?如果是,为什么 PEP 指南中没有提到它,为什么 PyDev 解析器会引发错误?
- Python: 3.6.3
- PyDev: 6.3.3
- 日食:氧气.2 (4.7.2)
谢谢!
这是 PyDev 中的一个问题(不幸的是 https://www.python.org/dev/peps/pep-0498/ 没有提供 f 字符串的语法,并且对预期的解析应该如何进行非常清楚 -- 我将更新 PyDev 以涵盖提供的示例)。
我有一个在 Eclipse 中使用 PyDev 的 python 项目。对于如下示例代码,
var = 'element'
width = 11
print(f'{var:>{width}}')
代码被执行打印所需的输出element
,右对齐且没有错误。
但是,PyDev 解析此代码在 >
个字符处引发错误和一条错误消息 SyntaxError: Unbalanced '{'
。但自 6.3.1 版 (#PyDev-884) 以来,PyDev 确实支持 f 字符串中的双括号。如果我删除这个 >
字符,字符串将打印为 'left-aligned' (我不想要)并且 PyDev 不会引发任何错误。这证实 PyDev 确实支持双括号,但错误消息不正确。
另一方面,PEP 498 for f-strings 没有提到任何关于使用 f-strings 对齐的内容。对齐是 f 字符串语法的一部分吗?如果是,为什么 PEP 指南中没有提到它,为什么 PyDev 解析器会引发错误?
- Python: 3.6.3
- PyDev: 6.3.3
- 日食:氧气.2 (4.7.2)
谢谢!
这是 PyDev 中的一个问题(不幸的是 https://www.python.org/dev/peps/pep-0498/ 没有提供 f 字符串的语法,并且对预期的解析应该如何进行非常清楚 -- 我将更新 PyDev 以涵盖提供的示例)。