Kennzeichnen Sie "print" -Anweisungen im Python-Code

8

Ich möchte keine "print" -Anweisungen in unseren Python-Modulen, weil wir einen Logger verwenden werden.

Ich versuche ein Skript zu generieren, um Module mit pylint zu überprüfen. Pylint erkennt dies jedoch derzeit nicht als Warnung oder Fehler.

Ich möchte "print" -Aufrufe als einen Fehler oder eine Warnung gemäß unserem internen Python-Programmierstandard erkennen.

Wie kann ich das erreichen?

    
moylop260 11.08.2014, 18:02
quelle

3 Antworten

12

flake8 hat eine flake8-print Plugin speziell für die Aufgabe:

  

flocke8-drucken

     

Prüfe auf Druckanweisungen in Python-Dateien.

DEMO:

%Vor%     
alecxe 11.08.2014, 18:08
quelle
7

Wenn Sie aus irgendeinem Grund flake8-print nicht wie von @alecxe vorgeschlagen verwenden möchten, können Sie Ihre eigenen mit dem ast -Modul rollen - das verwendet den Python-Compiler, um die Datei zu analysieren, so dass Sie% zuverlässig finden können co_de% (anstelle von Zeilen, die gerade mit print beginnen):

Code :

%Vor%

blah.py :

%Vor%

Ausgabe :

%Vor%

Sie können print oder os.walk oder die am besten geeignete Option verwenden, wenn Sie in einem Ordner oder Unterordner navigieren möchten.

    
Jon Clements 11.08.2014 18:18
quelle
0

Nicht perfekt: Linien wie 'print_something ()' würden ebenfalls erkannt werden. Aber die meisten Fälle sollten damit abgefangen werden:

%Vor%     
guettli 11.08.2014 18:08
quelle