Python - 解决PEP8错误

时间:2015-06-13 15:15:02

标签: python github pep8

我正在尝试解决在向Firefox UI GitHub repo发出拉取请求后由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)

回购经理建议我将这两行合并为一行,但这会延长结果行的长度,导致PEP8错误。

我可以将它改回原来的样子,但有没有任何格式化或缩进线的方法,这样就不会导致这个PEP8错误。

提前致谢。

1 个答案:

答案 0 :(得分:5)

是;

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
  p p to to! :)