如果拥有那条线是最佳做法,为什么 flake8 在空端线上显示警告?

Why does flake8 show warning on empty endline if it's best practice to have that line?

不确定这个问题是否适合这里,因为它可以基于意见。

我正在通读这篇关于 CPython 解释器的文章 https://realpython.com/cpython-source-code-guide/#whats-in-the-source-code 并且在文章的某一处指定在 python 源代码末尾留空行是一种很好的做法代码文件。

但是,对于我的开发,我使用 flake8 语法检查器,它不喜欢我在文件末尾留一个空行。文章指出,由于 CPython 必须自己插入该行,因此该空行的成本是一些性能开销。

flake8 认为空行是不好的做法有什么具体原因吗?

您得到 W391 并且根据 flake8 docs

每个文件末尾应该只有一个空行。当有零个、两个或两个以上空行时会出现此警告是正确的。

基于

vim 的编辑器会自动向每个文件添加一个换行符,因此您不必手动添加它们,因为文件最终有两个换行符会导致 flake8 警告。

您还可以使用此 answer 配置您的 neo vim 编辑器以显示换行符。