Dies ist der Befehls-Pylint, der im kostenlosen OnWorks-Hosting-Provider mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, Windows-Online-Emulator oder MAC OS-Online-Emulator ausgeführt werden kann
PROGRAMM:
NAME/FUNKTION
Pylint - Statischer Checker für Python-Code
ZUSAMMENFASSUNG
Pylint [ OPTIONAL ] [ ]
BESCHREIBUNG
Pylint ist ein Python-Quellcode-Analysator, der nach Programmierfehlern sucht, hilft
Erzwingen eines Codierungsstandards und Schnüffeln für einige Code-Gerüche (wie in Martin Fowlers
Refactoring-Buch)
Pylint kann als weiterer PyChecker angesehen werden, da fast alle Tests mit PyChecker durchgeführt werden können
kann auch mit Pylint gemacht werden. Pylint bietet jedoch noch einige weitere Funktionen, wie z
Länge der Codezeilen, prüfen, ob Variablennamen gemäß Ihrer
Codierungsstandard, oder prüfen, ob deklarierte Schnittstellen wirklich implementiert sind und vieles mehr.
Darüber hinaus ist es möglich, Plugins zu schreiben, um eigene Prüfungen hinzuzufügen.
Pylint wird mit "pylint-gui", "pyreverse" (UML-Diagrammgenerator) und "symilar" (an
unabhängiger Ähnlichkeitsprüfer).
OPTIONAL
--Version
Versionsnummer des Programms anzeigen und beenden
--hilfe, -h
Diese Hilfemeldung anzeigen und beenden
--lange-Hilfe
ausführlichere Hilfe.
MASTER
--rcfile=
Geben Sie eine Konfigurationsdatei an.
--init-hook=
Auszuführender Python-Code, normalerweise für die sys.path-Manipulation wie pygtk.require().
--nur Fehler, -E
Im Fehlermodus sind Checker ohne Fehlermeldungen deaktiviert und für andere nur
die ERROR-Meldungen werden angezeigt und standardmäßig werden keine Berichte erstellt
--py3k Im Python 3-Portierungsmodus werden alle Checker deaktiviert und nur Nachrichten ausgegeben
von der Portierungsprüfung wird angezeigt
--ignore= [, ...]
Fügen Sie Dateien oder Verzeichnisse zur Blacklist hinzu. Sie sollten Basisnamen sein, keine Pfade.
[aktuell: CVS]
--persistent=
Pickle sammelte Daten für spätere Vergleiche. [aktuell: ja]
--load-plugins=
Liste der zu ladenden Plugins (als durch Kommas getrennte Werte von Python-Modulnamen),
normalerweise, um zusätzliche Prüfer zu registrieren. [aktuell: keine]
--jobs= , -J
Verwenden Sie mehrere Prozesse, um Pylint zu beschleunigen. [aktuell: 1]
--extension-pkg-whitelist=
Eine durch Kommas getrennte Liste von Paket- oder Modulnamen, aus denen C-Erweiterungen stammen können
geladen. Erweiterungen werden in den aktiven Python-Interpreter geladen und können ausgeführt werden
beliebiger Code [aktuell: keiner]
BEFEHLE
--help-msg=
Eine Hilfenachricht für die angegebene Nachrichten-ID anzeigen und beenden. Der Wert kann ein Komma sein
getrennte Liste von Nachrichten-IDs.
--list-msgs
Generieren Sie die Nachrichten von Pylint.
--list-conf-levels
Generieren Sie die Nachrichten von Pylint.
--vollständige Dokumentation
Generieren Sie die vollständige Dokumentation von Pylint.
--generate-rcfile
Generieren Sie eine Beispielkonfigurationsdatei gemäß der aktuellen Konfiguration. Du
können andere Optionen vor diese setzen, um sie in die generierte Konfiguration zu übernehmen.
MITTEILUNGEN STEUERN
--confidence=
Nur Warnungen mit den aufgeführten Konfidenzniveaus anzeigen. Leer lassen, um alle anzuzeigen.
Gültige Stufen: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED [aktuell: keine]
--enable= , -e
Aktivieren Sie die Nachricht, den Bericht, die Kategorie oder den Checker mit den angegebenen IDs. Du kannst
Geben Sie entweder mehrere Bezeichner getrennt durch Komma (,) an oder setzen Sie diese Option auf mehrere
Zeit. Siehe auch die Option "--disable" für Beispiele.
--disable= , -D
Deaktivieren Sie die Nachricht, den Bericht, die Kategorie oder den Checker mit den angegebenen IDs. Du kannst
Geben Sie entweder mehrere Bezeichner getrennt durch Komma (,) an oder setzen Sie diese Option auf mehrere
mal (nur auf der Kommandozeile, nicht in der Konfigurationsdatei wo es hingehört
erscheinen nur einmal). Sie können auch "--disable=all" verwenden, um zuerst alles zu deaktivieren und
aktivieren Sie dann bestimmte Prüfungen wieder. Wenn Sie beispielsweise nur die
Ähnlichkeitsprüfung können Sie "--disable=all --enable=similarities" verwenden. wenn du
nur den Klassen-Checker ausführen möchten, aber keine Warnmeldungen angezeigt bekommen,
use"--disable=all --enable=classes --disable=W"
BERICHTE
--output-format= , -F
Legen Sie das Ausgabeformat fest. Verfügbare Formate sind Text, analysierbar, koloriert, msvs
(visuelles Studio) und html. Sie können auch eine Reporterklasse geben, zB
mypackage.mymodule.MyReporterClass. [aktuell: Text]
--files-output=
Legen Sie Nachrichten für jedes Modul / Paket, das im Befehl angegeben ist, in eine separate Datei
line, anstatt sie auf stdout zu drucken. Berichte (falls vorhanden) werden in eine Datei geschrieben
Name "pylint_global.[txt|html]". [aktuell: nein]
--reports= , -R
Gibt an, ob ein vollständiger Bericht oder nur die Meldungen angezeigt werden sollen [aktuell: ja]
--evaluation=
Python-Ausdruck, der eine Note kleiner als 10 zurückgeben sollte (10 ist die höchste Note).
Sie haben Zugriff auf die Variablenfehlerwarnung, die entsprechende Anweisung
enthalten die Anzahl der Fehler-/Warnmeldungen und die Gesamtzahl der Anweisungen
analysiert. Dies wird vom globalen Evaluierungsbericht (RP0004) verwendet. [aktuell: 10.0 -
((float(5 * Fehler + Warnung + Refactor + Konvention) / Anweisung) * 10)]
--comment=
Fügen Sie einen Kommentar gemäß Ihrer Bewertungsnotiz hinzu. Dies wird von der globalen
Bewertungsbericht (RP0004). [aktuell: nein]
--msg-template=
Vorlage zum Anzeigen von Nachrichten. Dies ist eine Python-Formatzeichenfolge im neuen Stil, die verwendet wird, um
die Nachrichteninformationen formatieren. Siehe Dokument für alle Details
AUSNAHMEN
--overgeneral-Exceptions=
Ausnahmen, die eine Warnung ausgeben, wenn sie erwischt werden. Standardmäßig auf "Ausnahme"
[aktuell: Ausnahme]
KLASSEN
--ignore-iface-methods=
Liste der zu ignorierenden Schnittstellenmethoden, getrennt durch ein Komma. Dies wird verwendet für
-Instanz, um Methoden nicht zu überprüfen, die in der Interface-Basisklasse von Zope definiert sind. [aktuell:
isImplementedBy,deferred,extends,names,namesAndDescriptions,queryDescriptionFor,getBases,getDescriptionFor,getDoc,getName,getTaggedValue,getTaggedValueTags,isEqualOrExtendedBy,setTaggedValue,isImplementedByInstancesOf,adaptWith,is_implemented_by]
--defining-attr-methods=
Liste der Methodennamen, die zum Deklarieren (dh Zuweisen) von Instanzattributen verwendet werden. [aktuell:
__init__,__neu__,setUp]
--valid-classmethod-first-arg=
Liste gültiger Namen für das erste Argument in einer Klassenmethode. [aktuell: cls]
--valid-metaclass-classmethod-first-arg=
Liste gültiger Namen für das erste Argument in einer Klassenmethode einer Metaklasse. [aktuell:
mcs]
--exclude-protected=
Liste der Mitgliedsnamen, die von der geschützten Zugriffswarnung ausgeschlossen werden sollen.
[aktuell: _asdict,_fields,_replace,_source,_make]
LOGGING
--logging-modules=
Protokollierungsmodule, um zu überprüfen, ob die Zeichenfolgenformatargumente in der Protokollierungsfunktion enthalten sind
Parameterformat [aktuell: Protokollierung]
VARIABLEN
--init-import=
Gibt an, ob in __init__-Dateien auf ungenutzten Import geprüft werden soll. [aktuell: nein]
--dummy-variables-rgx=
Ein regulärer Ausdruck, der dem Namen von Dummy-Variablen entspricht (dh erwartungsgemäß nicht
Gebraucht). [aktuell: _$|dummy]
--additional-builtins=
Liste zusätzlicher Namen, die in Builtins definiert werden sollen. Denken Sie daran, dass Sie
sollten nach Möglichkeit vermeiden, neue Built-Ins zu definieren. [aktuell: keine]
--callbacks=
Liste von Strings, die eine Callback-Funktion anhand des Namens identifizieren können. Ein Rückrufname
muss mit einer dieser Zeichenfolgen beginnen oder enden. [aktuell: cb_,_cb]
DESIGN
--max-args=
Maximale Anzahl von Argumenten für Funktion / Methode [aktuell: 5]
--ignored-argument-names=
Argumentnamen, die diesem Ausdruck entsprechen, werden ignoriert. Standardmäßig mit benennen
führender Unterstrich [aktuell: _.*]
--max-locals=
Maximale Anzahl von Locals für Funktions-/Methodenrumpf [aktuell: 15]
--max-return=
Maximale Anzahl von Rückgaben / Ausbeuten für Funktion / Methodenrumpf [aktuell: 6]
--max-branches=
Maximale Anzahl der Verzweigungen für den Funktions-/Methodenrumpf [aktuell: 12]
--max-Anweisungen=
Maximale Anzahl von Anweisungen im Funktions-/Methodenrumpf [aktuell: 50]
--max-eltern=
Maximale Elternzahl für eine Klasse (siehe R0901). [aktuell: 7]
--max-attributes=
Maximale Anzahl von Attributen für eine Klasse (siehe R0902). [aktuell: 7]
--min-public-methods=
Mindestanzahl öffentlicher Methoden für eine Klasse (siehe R0903). [aktuell: 2]
--max-public-methods=
Maximale Anzahl öffentlicher Methoden für eine Klasse (siehe R0904). [aktuell: 20]
BASIC
--required-attributes=
Erforderliche Attribute für das Modul, durch ein Komma getrennt [aktuell: keine]
--bad-functions=
Liste der eingebauten Funktionsnamen, die nicht verwendet werden sollten, getrennt durch ein Komma
[aktuell: Karte,Filter,Eingabe]
--good-names=
Gute Variablennamen, die immer akzeptiert werden sollten, durch ein Komma getrennt [aktuell:
i,j,k,ex,Lauf,_]
--bad-names=
Ungültige Variablennamen, die immer abgelehnt werden sollten, getrennt durch ein Komma [aktuell:
foo, bar, baz, toto, tutu, tata]
--name-group=
Durch Doppelpunkte getrennte Namenssätze, die den Benennungsstil des anderen bestimmen, wenn der
Namensregexe erlauben mehrere Stile. [aktuell: keine]
--include-naming-hint=
Fügen Sie einen Hinweis für das richtige Benennungsformat mit invalid-name hinzu [aktuell: nein]
--function-rgx=
Regulärer Ausdruck, der den korrekten Funktionsnamen entspricht [aktuell: [a-z_][a-
z0-9_]{2,30}$]
--function-name-hint=
Benennungshinweis für Funktionsnamen [aktuell: [a-z_][a-z0-9_]{2,30}$]
--variable-rgx=
Regulärer Ausdruck, der mit korrekten Variablennamen übereinstimmt [aktuell: [a-z_][a-
z0-9_]{2,30}$]
--variable-name-hint=
Benennungshinweis für Variablennamen [aktuell: [a-z_][a-z0-9_]{2,30}$]
--const-rgx=
Regulärer Ausdruck, der mit korrekten Konstantennamen übereinstimmt [aktuell: (([A-Z_][A-
Z0-9_]*)|(__.*__))$]
--const-name-hint=
Benennungshinweis für Konstantennamen [aktuell: (([A-Z_][A-Z0-9_]*)|(__.*__))$]
--attr-rgx=
Regulärer Ausdruck mit korrekten Attributnamen [aktuell: [a-z_][a-
z0-9_]{2,30}$]
--attr-name-hint=
Benennungshinweis für Attributnamen [aktuell: [a-z_][a-z0-9_]{2,30}$]
--argument-rgx=
Regulärer Ausdruck, der mit den richtigen Argumentnamen übereinstimmt [aktuell: [a-z_][a-
z0-9_]{2,30}$]
--argument-name-hint=
Benennungshinweis für Argumentnamen [aktuell: [a-z_][a-z0-9_]{2,30}$]
--class-attribute-rgx=
Regulärer Ausdruck, der den korrekten Klassenattributnamen entspricht [aktuell: ([A-Za-z_][A-
Za-z0-9_]{2,30}|(__.*__))$]
--class-attribute-name-hint=
Benennungshinweis für Klassenattributnamen [aktuell: ([A-Za-z_][A-Za-
z0-9_]{2,30}|(__.*__))$]
--inlinevar-rgx=
Regulärer Ausdruck, der mit den richtigen Inline-Iterationsnamen übereinstimmt [aktuell: [A-Za-z_][A-
Za-z0-9_]*$]
--inlinevar-name-hint=
Benennungshinweis für Inline-Iterationsnamen [aktuell: [A-Za-z_][A-Za-z0-9_]*$]
--class-rgx=
Regulärer Ausdruck, der korrekten Klassennamen entspricht [aktuell: [A-Z_][a-zA-Z0-9]+$]
--class-name-hint=
Benennungshinweis für Klassennamen [aktuell: [A-Z_][a-zA-Z0-9]+$]
--module-rgx=
Regulärer Ausdruck, der den korrekten Modulnamen entspricht [aktuell: (([a-z_][a-z0-9_]*)|([A-
Z][a-zA-Z0-9]+))$]
--module-name-hint=
Benennungshinweis für Modulnamen [aktuell: (([a-z_][a-z0-9_]*)|([AZ][a-zA-Z0-9]+))$]
--method-rgx=
Regulärer Ausdruck mit korrekten Methodennamen [aktuell: [a-z_][a-z0-9_]{2,30}$]
--method-name-hint=
Benennungshinweis für Methodennamen [aktuell: [a-z_][a-z0-9_]{2,30}$]
--no-docstring-rgx=
Regulärer Ausdruck, der nur mit Funktions- oder Klassennamen übereinstimmen sollte, die dies nicht tun
einen Docstring benötigen. [aktuell: __.*__]
--docstring-min-length=
Minimale Zeilenlänge für Funktionen/Klassen, die Docstrings benötigen, kürzere sind
befreit. [aktuell: -1]
SONSTIGES
--notes=
Liste der zu berücksichtigenden Notiz-Tags, getrennt durch ein Komma. [aktuell:
FIXME,XXX,TODO]
TYPÜBERPRÜFUNG
--ignore-mixin-members=
Gibt an, ob fehlende Member, auf die in der Mixin-Klasse zugegriffen wird, ignoriert werden sollen. Eine Mischung
Klasse wird erkannt, wenn ihr Name mit "mixin" endet (Groß-/Kleinschreibung wird nicht beachtet). [aktuell: ja]
--ignored-modules=
Liste der Modulnamen, für die Memberattribute nicht geprüft werden sollen (nützlich für
Module/Projekte, bei denen Namensräume zur Laufzeit manipuliert werden und somit existieren
Elementattribute können nicht durch statische Analyse abgeleitet werden [aktuell: keine]
--ignored-classes=
Liste der Klassennamen, für die Memberattribute nicht geprüft werden sollen (nützlich für
Klassen mit dynamisch gesetzten Attributen). [aktuell: SQLObject]
--zope=
Wenn der Zope-Modus aktiviert ist, fügen Sie einen vordefinierten Satz von Zope-erworbenen Attributen zu . hinzu
generierte-Mitglieder. [aktuell: nein]
--generated-members=
Liste der Elemente, die dynamisch gesetzt und vom Pylint-Inferenzsystem übersehen werden,
und sollte daher beim Zugriff E1101 nicht auslösen. Reguläre Python-Ausdrücke sind
akzeptiert. [aktuell: REQUEST,acl_users,aq_parent]
RECHTSCHREIBUNG
--spelling-dict=
Name des Rechtschreibwörterbuchs. Verfügbare Wörterbücher: keine. Damit es funktioniert installieren
Python-Enchant-Paket. [aktuell: keine]
--spelling-ignore-words=
Liste der durch Kommas getrennten Wörter, die nicht überprüft werden sollen. [aktuell: keine]
--spelling-private-dict-file=
Ein Pfad zu einer Datei, die ein privates Wörterbuch enthält; ein Wort pro Zeile. [aktuell:
keiner]
--spelling-store-unknown-words=
Gibt an, ob unbekannte Wörter im angegebenen privaten Wörterbuch in --spelling- gespeichert werden sollen.
private-dict-file-Option, anstatt eine Nachricht auszulösen. [aktuell: nein]
FORMAT
--max-line-length=
Maximale Anzahl von Zeichen in einer einzelnen Zeile. [aktuell: 100]
--ignore-long-lines=
Regexp für eine Zeile, die länger als das Limit sein darf. [aktuell: ^(#
)? ?$]
--single-line-if-stmt=
Lassen Sie den Textkörper eines if in derselben Zeile wie der Test stehen, wenn nichts anderes vorhanden ist.
[aktuell: nein]
--no-space-check=NO_SPACE_CHECK
Liste optionaler Konstrukte, für die die Whitespace-Überprüfung deaktiviert ist [aktuell:
nachgestelltes Komma, Diktattrennzeichen]
--max-module-lines=
Maximale Zeilenanzahl in einem Modul [aktuell: 1000]
--indent-string=
String, der als Einzugseinheit verwendet wird. Dies ist normalerweise " " (4 Leerzeichen) oder "" (1 Tabulator).
[aktuell: ' ']
--indent-after-paren=
Anzahl der Leerzeichen, die innerhalb einer hängenden oder fortgesetzten Zeile erforderlich sind. [aktuell:
4]
--expected-line-ending-format=
Erwartetes Format des Zeilenendes, zB leer (beliebiges Zeilenende), LF oder CRLF. [aktuell:
keiner]
IMPORT
--deprecated-modules=
Veraltete Module, die nicht verwendet werden sollten, durch Komma getrennt [aktuell:
regsub,TERMIOS,Bastion,rexec]
--import-graph=
Erstellen Sie ein Diagramm aller (dh internen und externen) Abhängigkeiten in der gegebenen Datei
(Report RP0402 darf nicht deaktiviert werden) [aktuell: keine]
--ext-import-graph=
Erstellen Sie ein Diagramm externer Abhängigkeiten in der angegebenen Datei (Bericht RP0402 darf nicht
deaktiviert sein) [aktuell: keine]
--int-import-graph=
Erstellen Sie ein Diagramm der internen Abhängigkeiten in der angegebenen Datei (Bericht RP0402 darf nicht
deaktiviert sein) [aktuell: keine]
ÄHNLICHKEITEN
--min-similarity-lines=
Mindestanzahl der Zeilen einer Ähnlichkeit. [aktuell: 4]
--ignore-comments=
Ignorieren Sie Kommentare beim Berechnen von Ähnlichkeiten. [aktuell: ja]
--ignore-docstrings=
Ignorieren Sie Docstrings, wenn Sie Ähnlichkeiten berechnen. [aktuell: ja]
--ignore-imports=
Ignorieren Sie Importe beim Berechnen von Ähnlichkeiten. [aktuell: nein]
VARIABLEN
Die folgenden Umgebungsvariablen werden verwendet:
* PYLINTHOM
Pfad zum Verzeichnis, in dem die Persistenten für den Lauf gespeichert werden. Wenn nicht gefunden,
es ist standardmäßig ~/.pylint.d/ oder .pylint.d (im aktuellen Arbeitsverzeichnis).
* PYLINTRC
Pfad zur Konfigurationsdatei. Siehe die Dokumentation für die Methode, die für die Suche verwendet wird
für Konfigurationsdatei.
AUSGABE
Bei Verwendung der Standardtextausgabe lautet das Nachrichtenformat:
MESSAGE_TYPE: LINE_NUM:[OBJECT:] NACHRICHT
Es gibt 5 Arten von Nachrichtentypen:
* (C) Konvention, für die Programmierung von Standardverletzungen
* (R) Refactor, für schlechten Codegeruch
* (W) Warnung, für Python-spezifische Probleme
* (E) Fehler, für wahrscheinliche Fehler im Code
* (F) fatal, wenn ein Fehler aufgetreten ist, der pylint daran hinderte, weiterzuarbeiten
Verarbeitung.
AUSGABE STATUS CODE
Pylint sollte mit folgendem Statuscode verlassen:
* 0 wenn alles gut gelaufen ist
* 1 wenn eine fatale Nachricht ausgegeben wurde
* 2 wenn eine Fehlermeldung ausgegeben wurde
* 4 wenn eine Warnmeldung ausgegeben wurde
* 8 wenn eine Refactor-Nachricht ausgegeben wurde
* 16 wenn eine Konventionsnachricht ausgegeben wurde
* 32 bei Nutzungsfehler
Status 1 bis 16 werden Bit-ODER-verknüpft, damit Sie wissen, welche verschiedenen Kategorien ausgegeben wurden
durch Analyse des Pylint-Ausgabestatuscodes
Verwenden Sie Pylint online mit den onworks.net-Diensten