Python:黑色不包裹长行

gru*_*czy 6 python word-wrap python-black

我正在使用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()}."
Run Code Online (Sandbox Code Playgroud)

我跑:

$ black -l 80 . -t py38
All done! ?  ?
2 files left unchanged.
Run Code Online (Sandbox Code Playgroud)

为什么字符串没有包裹?我认为现在black支持包装字符串(基于github中的问题)。

GG.*_*GG. 18

22.1.0(2022 年 1 月 29 日)起,您必须使用 运行 Black --preview


Ron*_*ira 7

目前,Black 不包装长字符串或长注释。你可以在他们的项目 GitHub 中看到一个未解决的问题说:

Black 目前不包装长字符串文字或合并碰巧在同一行上的字符串文字。[...] 它需要修改 AST,它不是 100% 安全的,并且有一堆边缘情况需要处理。


Eka*_*Eka 6

目前我们必须--experimental-string-processing给它添加标签。我认为在未来的版本中它会被设为 default

black -l 80 --experimental-string-processing file.py

  • 看起来我们有一个新标志来替换“--experimental-string-processing now”:“--preview”。使用“--experimental-string-processing”运行时:“<string>:12:已弃用:“实验字符串处理”已包含在“预览版”中并已弃用。请改用“预览”。 (9认同)