Python:黑色不会包裹长线

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

我正在使用

black==20.8b1

我有一个长字符串,例如:

return f"{self.name}, a {adjective.to_name()} {kin_string}{self._type.to_name()} who works for the {target.get_relationship_target_string()}."

我跑步:

$ black -l 80 . -t py38
All done! ✨ 🍰 ✨
2 files left unchanged.

为什么绳子没有缠绕?我认为

black
现在支持换行字符串(基于 github 中的问题)。

python word-wrap python-black
3个回答
31
投票

使用

--preview
选项触发此行为。

以前我们必须添加

--experimental-string-processing
选项。 此选项仍然有效,但会发出折旧警告。

我认为在未来版本中它将被设为默认值

black -l 80 --preview file.py

18
投票

22.1.0(2022年1月29日)起,您必须使用

--preview
运行黑色。


13
投票

目前,Black 不包裹长字符串或长注释。你可以在他们的项目 GitHub 中看到一个 open issues 说:

Black 目前不会包装长字符串文字或合并恰好位于同一行的字符串文字。 [...] 这需要修改 AST,它不是 100% 安全,并且有很多边缘情况需要处理。

© www.soinside.com 2019 - 2024. All rights reserved.