请考虑以下代码:
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:
进口应按以下顺序分组:
标准库导入
相关的第三方导入
本地应用程序/库特定导入
您应该在每组导入之间添加一个空行。
换句话说,两个导入之间缺少空白行:
import re
from bs4 import BeautifulSoup
问题是:是否有可能告诉Pycharm遵循PEP8指南并在自动导入的不同导入类型的行之间插入换行符?
作为解决方法,我在正确组织导入后调用Optimize Imports。
答案 0 :(得分:9)
你做不到。原因是PyCharm没有告诉您,如果您这样做或任何进口声明,您违反了任何PEP8指南。一,你的PyCharm已经过时(最新版本是4.0.2 / 4.2)或者第二,你的PyCharm似乎有一个bug,因此有理由提交错误报告。如果您可以尝试安全地再次下载PyCharm 以尝试修复该错误。如果这不起作用,请提交错误报告或养成在语句之间留空的习惯。希望这能回答你的问题!哦,无论你是使用from,import还是两种语句都没关系。