在 Ruff 中禁用短多行字符串连接

问题描述 投票:0回答:1

如果我有一个像这样故意短的多行字符串:

html += (
    '<p>Regards,</p>\n'
    '<p>Tom Cruise</p>\n'
)

Ruff 将自动重新格式化为:

html += '<p>Regards,</p>\n<p>Tom Cruise</p>\n'

因为连接线适合我的最大线宽。

我正在寻找 linter 设置,而不是使用

#fmt: off ... #fmt: on
禁用 linter。

另请注意,我无法在括号内的多行字符串中添加尾随逗号,这确实会阻止其他情况下的行为,例如列表。

python ruff
1个回答
0
投票

我不认识 Ruff,但“重新格式化”该语句的不是 Ruff,而是 Python 本身。请参阅此处

Python 将仅由空格分隔的两个字符串粘在一起,然后删除不必要的括号。

也许你想写一个元组,却忘记了分隔逗号。当一对括号仅包含一个表达式时,它不会被解释为元组。您需要在表达式末尾添加逗号才能获得元组:

("this results in a string")
("also this" " results in a string")
("this results in a tuple containing a string",)
© www.soinside.com 2019 - 2024. All rights reserved.