考虑以下代码:
from bs4 import BeautifulSoup
data = "<test>test text</test>"
soup = BeautifulSoup(data)
print(soup.find(text=re.compile(r'test$')))
它缺少 import re
行,没有它会失败并返回 NameError
。
现在,我正在尝试使用 PyCharm
的 Auto-Import feature : 关注 re
并点击 Alt+Enter
,打开以下弹出窗口:
现在,如果我选择 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/