python - 自动导入不遵循 PEP8

标签 python import pycharm pep8 static-code-analysis

考虑以下代码:

from bs4 import BeautifulSoup


data = "<test>test text</test>"
soup = BeautifulSoup(data)
print(soup.find(text=re.compile(r'test$')))

它缺少 import re 行,没有它会失败并返回 NameError

现在,我正在尝试使用 PyCharmAuto-Import feature : 关注 re 并点击 Alt+Enter,打开以下弹出窗口:

enter image description here

现在,如果我选择 Import 're' 选项,Pycharm 会在脚本顶部插入新的导入行:

import re
from bs4 import BeautifulSoup


data = "<test>test text</test>"
soup = BeautifulSoup(data)
print(soup.find(text=re.compile(r'test$')))

看起来几乎不错,只是它不遵循 PEP8 import guidelines :

Imports should be grouped in the following order:

  • standard library imports

  • related third party imports

  • local application/library specific imports

You should put a blank line between each group of imports.

也就是说,两次导入之间少了一个空行:

import re

from bs4 import BeautifulSoup

问题是:是否可以告诉 Pycharm 遵循 PEP8 准则并在自动导入时在具有不同导入类型的行之间插入一个换行符?


作为解决方法,我正在调用 Optimize Imports之后正确组织导入。

最佳答案

你不能。原因是如果您这样做,PyCharm 不会告诉您您违反了任何 PEP8 指南或任何导入声明。第一,您的 PyCharm 已过时(最新版本为 4.0.2/4.2)或第二,您的 PyCharm 似乎有错误,因此有理由提交错误报告。如果您可以安全地尝试再次下载 PyCharm 以尝试修复该错误。如果这不起作用,请提交错误报告或养成在语句之间留空行的习惯。希望这能回答您的问题!哦,使用 from、import 或两种类型的语句都没有关系。

关于python - 自动导入不遵循 PEP8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27369138/

相关文章:

python - 文本提取项目 - 仅从 PDF 中提取特定行/项目的最佳工具?

c - 如何在 CGO 中使用外部 .c 文件?

oracle - 如何将 Oracle (C)LOB 导入另一个表空间

python - 在哪里放置 .dockerignore?

python - PyCharm 不会安装gym 包

python - 从 BVH 文件中提取数据并将其应用于我的 3d 模型?

python - 使用 OpenCV (cv.add) 向蒙版下的图像添加颜色

python - 即使在 KeepAspectRatio 和 SmoothTransition 之后,如何在 QPixmap 上获得更好的图像质量

在 NextJS 中导入 geojson

PyCharm:如何将一个项目用作另一个项目的依赖项?