standard pycodestyle proposal online enhancement autopep8 python pep8

python - pycodestyle - PEP8: conflicto entre W292 y W391



python docstring (3)

De esto es de lo que habla W391:

print ''last line''

Esto es incorrecto según W292:

print ''last line''

Lo que es correcto es:

print ''last line''

Por lo que sé en Unix, es una buena práctica tener siempre una línea en blanco al final del archivo, o en otras palabras: cada línea debe terminar con /n .

Al verificar mi código de Python con PEP8, noté que también indica que debería haber /n al final del archivo:

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

Lo que es extraño, entra en conflicto con W391:

W391 blank line at end of file JCR: Trailing blank lines are superfluous. Okay: spam(1) W391: spam(1)/n

¿Como debería ser? ¿Debo tener una línea en blanco al final del archivo o no?


En Windows ''/ n'' es el separador entre líneas, pero en linux ''/ n'' es el signo final en cualquier línea. No hay nada malo en agregar ''/ n'' al final de las líneas en la plataforma de Linux pero siguiendo la definición del sistema operativo.


W391 es una línea en blanco , es decir, dos /n consecutivos . No hay conflicto.