33

据我所知,在 unix 中,始终在文件末尾有空行是一个好习惯 - 或者换句话说:每一行都应该以\n.

在使用 PEP8 检查我的 python 代码时,我注意到它还指出\n文件末尾应该有:

W292 no newline at end of file
    JCR: The last line should have a newline.

奇怪的是,它与 W391 冲突:

W391 blank line at end of file
    JCR: Trailing blank lines are superfluous.

    Okay: spam(1)
    W391: spam(1)\n

应该如何?我应该在文件末尾有空行吗?

4

3 回答 3

41

W391是一个行,即两个连续 \n的s。没有冲突。

于 2012-03-19T10:02:05.163 回答
17

这就是 W391 所说的:

打印'最后一行'


根据 W292,这是错误的:

打印'最后一行'

正确的是:

打印'最后一行'

于 2012-03-19T11:12:13.623 回答
3

在 Windows 中,'\n' 是行之间的分隔符,但在 Linux 中,'\n' 是任何行的结束符号。Vim 在 Linux 平台的行尾添加 '\n' 并没有错,但遵循操作系统定义。

于 2016-03-04T05:05:14.403 回答