2016-10-20 3 views
-1

Ich habe ein Python-Projekt enthält Python-Dateien im übergeordneten Verzeichnis und sogar in seinem Child-Verzeichnis. Ich möchte alle Python-Dateien innerhalb des Verzeichnisses analysieren. Ich möchte jedoch nicht den Namen von Ordnern angeben. Gibt es einen Weg, der mir helfen kann? Die Hierarchie kann variieren, aber das Skript sollte trotzdem funktionieren. Danke.Pylint auf Dateien in Directory und Unterverzeichnis?

+0

Können Sie ein klareres Beispiel für die Struktur Ihres Projekts und die fehlgeschlagenen Versuche geben, es zu fällen? – jonrsharpe

+0

Schau in 'os.walk' –

+0

Eigentlich möchte ich dieses Skript in Jenkins verwenden. Wo der Pylint sollte alle Dateien in meinem Job analysieren. Ich speichere die Projektverzeichnisse in einem lokalen Verzeichnis. –

Antwort

0

Wenn Sie einen Shell-Skript suchen, die über die Dateien gehen und laufen Fusseln:

for file in /Project/*; do 
    if [ -d $file ]; then 
    for subfile in $file/*; do 
     if [[ $subfile == *.py ]]; then 
      pylint $subfile 
     fi 
    done 
    fi 
    if [[ $file == *.py ]]; then 
     pylint $file 
    fi 
done 
+0

Vielleicht eine reine Python-Lösung, so dass Sie nicht durch die zugrunde liegende Plattform beschränkt sind. – tdelaney

+0

Es funktioniert gut, wenn ich es in meinem Terminal verwende. Aber wenn ich dieses Skript in meine Jenkins als Post-Build-Skript einfüge, funktioniert es nicht. –

+0

Nur zur Klarstellung, haben Sie den vollständigen Pfad des Ordners im Skript ?? –

1

Wenn Ihr Projekt ein richtiger python package (dh ein Ordner mit einem __init__.py im Grunde) ist, können Sie einfach laufen pylint packagename.

Verwandte Themen