W391 говорит, что в конце файла должна быть одна (и только одна) пустая строка. Однако flake8 сообщает об ошибке, когда в конце файла есть хотя бы одна новая строка:
$ cat /tmp/test.py
def hello():
print('hello')
hello()
$ hexdump -C /tmp/test.py
00000000 64 65 66 20 68 65 6c 6c 6f 28 29 3a 0a 20 20 20 |def hello():. |
00000010 20 70 72 69 6e 74 28 27 68 65 6c 6c 6f 27 29 0a | print('hello').|
00000020 0a 0a 68 65 6c 6c 6f 28 29 0a 0a |..hello()..|
0000002b
Как вы можете видеть выше, фактически есть одна и только одна пустая строка в концефайл (0a
равен \n
). Однако, когда я запускаю flake8, я получаю ошибку W391:
$ flake8 /tmp/test.py
/tmp/test.py:6:1: W391 blank line at end of file
Почему это так?