2017-08-02 70 views
-1

我正在处理的项目在验证构建之前运行linting检查。 linter检查PEP8遵从性等。我有一个base64字符串,大约有5,000个字符(它是一个转换成base64字符串的文件),所以当然,linter不喜欢它。PEP8和base64字符串

在我看来,将字符串分割成60多行只是为了使其符合PEP8标准是非常愚蠢的。

将文件作为物理文件并在运行中读取对于上下文来说并不是真正的选项。从外部源读取文件也不是一个选项。

编辑:PEP8符合性检查与Flake8

寻找如何去这个建议做。

+3

“在我看来,将字符串分成60多行只是为了使其符合PEP8标准是非常愚蠢的。” - 为什么?如果你想要符合PEP 8,并且将字符串放在源代码之外不是一个选项,那么分割字符串几乎是你唯一的选择。 – jwodder

+0

同意@jwodder,假设这是一个不会经常更改的字符串(我认为是这种情况,因为该字符串不在外部文件中)。将字符串分成几行不应该超过30秒。 – 0x5453

+1

@Verv我想如果你的linter支持的话,还有一个参数可以在行尾添加'#nopep8' /'#noqa'。 – 0x5453

回答

1

A foolish consistency is the hobgoblin of little minds

PEP8是一个风格指南,而不是一个规则手册。有些情况下最好忽略PEP8。为了符合规范,不要牺牲代码清晰度。避免单一的linter警告比强制你的代码变为60行并处理所有换行符更好?

在我看来,将字符串拆分为60多行只是为了使其符合PEP8标准是非常愚蠢的。

它是。

根据您的linter,您可能会将# noqa置于违规行的末尾,以便它忽略PEP8违规行为。查看你的linter文档,看看它在这方面提供了什么。