使用 Python Black(19.2b 之前),如何跳过数字文字中下划线的规范化?

With Python Black (prior to 19.2b), how to skip normalizing underscores in numeric literals?

我在 Python 3.7(在 VS 代码中)中使用 Black。

当我格式化我的代码时,数字文字用下划线标准化(例如 1562202 => 1_562_202)。

如何在不使用下划线格式化的情况下使用Black Formatting?

注意 从黑色版本 19.2b 开始,此问题已过时。

要避免格式化文字,请使用 black --skip-numeric-underscore-normalization 或短标记 black -N

您可以通过修改 pyproject.toml 文件使其成为永久性更改:

[tool.black]
skip-numeric-underscore-normalization = true

https://github.com/ambv/black#189b0

Black的官方文档中提到,下面的选项可以跳过在数字文字中添加下划线:

-N, --skip-numeric-underscore-normalization Don't normalize underscores in numeric literals.

在 VS Code 中,只需在用户设置 JSON 文件中添加以下选项:

"python.formatting.blackArgs": ["--skip-numeric-underscore-normalization"]