2016-09-20 3 views
0

Diese sehr einfache Code:Warum Pylint sagt drucken ('foo', Ende = '') ist eine ungültige Syntax?

#!/usr/bin/python3 
print('foo', end='') 

macht Pylint unglücklich (beide auf Python2 und Python3):

pylint ./pylint.py 
No config file found, using default configuration 
************* Module pylint 
E: 2, 0: invalid syntax (syntax-error) 

Warum?

+0

99,9% Chance : Sie haben eine schließende Klammer in der vorherigen Zeile vergessen. – TigerhawkT3

+0

Ich bin mir nicht sicher, warum Sie es sogar auf Python 2 versuchen, es sei denn, Sie haben die Funktion 'print' importiert. – TigerhawkT3

+0

@Flippy - Technisch könnte es, aber es endet immer eine Klammer/Bracket. – TigerhawkT3

Antwort

4

Ich habe diesen Fehler beim Ausführen von Pylint erhalten. Aber mein Pylint hatte nur Unterstützung für python2. So ist es errored:

$ pylint foo.py 
No config file found, using default configuration 
************* Module foo 
E: 2, 0: invalid syntax (syntax-error) 

Also habe ich pip3 install pylint.

Und es dann alles funktionierte (oder zumindest hätte es vorbei an dem Syntaxfehler):

$ python3 -m pylint foo.py | head 
No config file found, using default configuration 
************* Module foo 
C: 1, 0: Black listed name "foo" (blacklisted-name) 
C: 1, 0: Missing module docstring (missing-docstring) 
..... 

Sehen Sie hier für weitere Informationen über Pylint für python2 und 3 in einem System: https://askubuntu.com/questions/340940/installing-pylint-for-python3-on-ubuntu

+0

Ok, ich habe 'pylint./Pylint.py' anstelle von 'python3 -m pylint foo.py' verwendet. Ich dachte, dass pylint '#!/Usr/bin/python3' lesen könnte. – roipoussiere

+0

Scheinbar nicht - es gibt ein Shell-Skript in der Antwort, die ich verlinkte, die "die Shebang" -Linie schnüffelt, um den richtigen Pylint auszuführen, abhängig von der "#!" - Zeile. Ich weiß nicht, ob das Pyint-Projekt eine Richtlinie dafür hat, dies nicht zu tun ... – Spacedman

Verwandte Themen