考虑以下代码:
它缺少一个
问题是:是否可以让Pycharm遵循PEP8准则,在自动导入时在不同导入类型的行之间插入新行?
作为一种解决办法,我在那之后调用 Optimize Imports 来正确组织导入。
from bs4 import BeautifulSoup
data = "<test>test text</test>"
soup = BeautifulSoup(data)
print(soup.find(text=re.compile(r'test$')))
它缺少一个
import re
行,如果没有它会出现NameError
错误。
现在,我正在尝试使用PyCharm
的自动导入功能:聚焦于re
并按下Alt+Enter
,这将打开以下弹出窗口:
导入'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 re
from bs4 import BeautifulSoup
问题是:是否可以让Pycharm遵循PEP8准则,在自动导入时在不同导入类型的行之间插入新行?
作为一种解决办法,我在那之后调用 Optimize Imports 来正确组织导入。
import foo
属于哪个组。 - Dima Tisnek