E501行太长(99个字符> 79个字符)

8

我使用Python执行Linux shell命令。

对于下面提到的行,我得到了以下错误-

E501 line too long (99 > 79 characters)

代码:

 ssh_client.exec_command(
            "sudo grep 'cpu ' /proc/stat | awk '{usage=($2+$4)*100/($2+$4+$5)} END {print usage}'")

我不确定如何格式化这行代码,因为它是一个Linux命令。


1
不涉及答案,但在典型的 Linux 发行版中,您不需要使用 sudo 查询 /proc/stat。此外,您可以通过执行 awk '/cpu / {usage=.....}' /proc/stat 来节省一个进程执行。 - viraptor
2个回答

5
这个shell命令并没有返回错误。实际上,你使用了一种名为linter的源代码分析工具(在这种情况下,看起来像是flake8),它强制执行符合Python最佳实践(比如PEP-8)。PEP-8规定,代码行应该不超过79个字符。由于该行超过了79个字符,因此linter会抱怨。
如果你发现遵循PEP-8或其他公认的社区最佳实践使得你的代码难以阅读,你可以在代码行末尾添加# noqa,告诉linter忽略这一行。
some_gnarly_line_of_code()  # noqa

在这种情况下,minitech的答案是正确的,但是有些特殊情况下,你可以绕过破坏构建的linter警告。


3
在Python中,连续的字符串字面值(仅由空格分隔)会合并为一个。因此:
ssh_client.exec_command(
    "sudo grep 'cpu ' /proc/stat | "
    "awk '{usage=($2+$4)*100/($2+$4+$5)} END {print usage}'")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接