Python - 解决 PEP8 错误

Python - Resolving PEP8 errors

我正在尝试解决在向 Firefox UI GitHub 存储库发出拉取请求后由 Travis 构建生成的 PEP8 错误。我已经能够使用 pep8 库在本地重现这些错误。具体来说,我在超过 99 个字符限制的文件中有以下行:

Wait(self.marionette).until(lambda _: self.autocomplete_results.is_open and len(self.autocomplete_results.visible_results) > 1))

它通过 pep8 在 运行 上产生的错误由以下公式给出:

$ pep8 --max-line-length=99 --exclude=client firefox_ui_tests/functional/locationbar/test_access_locationbar.py
firefox_ui_tests/functional/locationbar/test_access_locationbar.py:51:100: E501 line too long (136 > 99 characters)

该行从 Marionette Python 客户端调用 Wait().until() 方法。以前这一行实际上是两行:

Wait(self.marionette).until(lambda _: self.autocomplete_results.is_open)
Wait(self.marionette).until(lambda _: len(self.autocomplete_results.visible_results) > 1)

repo 管理员建议我将这两行合并为一行,但这增加了结果行的长度,导致 PEP8 错误。

我可以将它改回原来的样子,但是有什么方法可以格式化或缩进该行,以免导致此 PEP8 错误。

提前致谢。

是;

Wait(self.marionette).until(
    lambda _: (
        self.autocomplete_results.is_open and
        len(self.autocomplete_results.visible_results) > 1
    )
)

检查:

$ pep8 --max-line-length=99 --exclude=client foo.py

parens to the rescue! :)