问题标签 [python-black]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
228 浏览

python - 您可以设置 Black 以使其不将 ... 语句放在换行符上吗?

我基本同意 Black 的许多格式选择,包括pass换行,因为通常这意味着我稍后会实现该函数,但是当我确实希望函数为空时,我使用...,但 Black 仍然将其放在新队。是否有黑色设置可以禁用此功能?(注意:如果可能的话,我仍然希望它把pass语句放在换行符上。

0 投票
1 回答
1659 浏览

flake8 - 如何格式化此代码以使 flake8 满意?

此代码由black创建:

但现在 flake8 抱怨:

tests/test_utils.py:59:9: W503 换行符在二元运算符之前

测试/test_utils.py:59:101:E501 行太长(105 > 100 个字符)

如何格式化以上行并使 flake8 高兴?

我用这个.pre-commit-config.yaml

毒物.ini:

(我认为 flake8 从属于不同工具的文件中读取配置有点奇怪)。

0 投票
2 回答
466 浏览

python - PyCharm:在区域上运行“black -S”

我们还没有准备好用black自动格式化整个源代码。

但有时我想black -S通过 PyCharm 在一个区域上执行。

文档中有一个提示如何在整个文件上运行black(或black -S(我喜欢的))。但 ...

如何仅在选定区域上运行黑色?

0 投票
1 回答
55 浏览

python - 如何阻止 Black 删除函数调用 args 中的新行?

我想记录一个外部函数:

Black 将其重新格式化为:

想要和之间的新行param_1param_2因为这样评论更具可读性。但是黑色消除了这一点。它如何阻止它这样做?

0 投票
1 回答
1727 浏览

python - 黑色忽略跳过字符串规范化标志

在我的pre-commit配置中,我有black版本19.10b0,并且在pyproject.toml我有行:

skip-string-normalization = true

所以我的字符串没有标准化双引号。

但是然后我运行pre-commit autoupdateblack版本升级到20.8b1并且所有字符串都被规范化为双引号变体。

我不明白为什么会发生这种情况,有什么原因吗?

black 更改日志没有关于这两个版本之间的字符串或引号。

此外,如果我明确传递pyproject.tomlblack(使用args: [--config=./pyproject.toml]线)它仍然规范化字符串

0 投票
1 回答
346 浏览

python - 使用黑色格式化程序嵌套长列表和集合

python黑色格式化程序可以嵌套长列表和集合吗?例如:

输入

默认输出

期望的输出

0 投票
1 回答
6707 浏览

visual-studio-code - vscode的Python黑色格式化程序不格式化

我正在尝试在 Ubuntu 20.04 上的 VS Code 上使用黑色作为 Python 的格式化程序,但它不适用于自动保存。

我选择blackPython>Formatting:Provider. 我使用 prettier 作为我的默认格式化程序,为此我添加了一个 .prettierignore、禁用和卸载以确保它不会干扰黑色。我还添加了一个自定义路径./local/bin/black。但是当我通过终端运行它时它可以工作。我如何使它工作?

0 投票
1 回答
949 浏览

python - 可以将黑色配置为忽略导入吗?

从现在开始,我将切换到对我所有的 Python 项目使用 Black。到目前为止,我一直使用 autopep8 作为我的自动格式化程序和 isort 来对我的导入进行排序。但是在使用 Black 时,我发现 Black 在格式化我的代码的同时也完成了 isort 的工作。虽然我不介意 Black 对我的导入进行排序的方式,但我仍然想使用 isort 来处理我的导入,并且我希望 Black 只处理我的代码,而不是导入。那么,有没有办法将 Black 配置为仅格式化我的代码而不接触导入?顺便说一句,我正在使用 VS Code,因此有关如何在 VS Code 中应用配置的一些帮助也会有所帮助。谢谢!

0 投票
1 回答
1154 浏览

python - 换行的 vscode 设置中的格式代码

我们可以在 vs 代码中使用Ctrl++Shifti自动格式化代码。vscode 断行超过 80 个字符。改变linewidth不会改变它。我想把 120 放在我的 python 代码中。解决办法是什么?

我没有发现类似的问题挖掘以前的问题。

这是我的setting.json

正如@Subrato 建议的那样,这对我有用:

0 投票
2 回答
274 浏览

python - 解决python ValueError: max_workers must be <= 61 when running pre-commit?

我正在使用 Django 开发 ERP,并且我想在我的项目中使用预提交。

我已经安装了 pre-commit、black、flake8、flake8-black。这是我的

文件配置内容

当我提交我的代码时,它给了我这个错误

这是我的点子列表

当我运行 os.cpu_count() 它时,它给了我 64 个处理器。我使用的是 windows server 2016 数据中心。

请帮我解决这个问题。

注意我使用的是 python 3.7