2016-10-06 2 views
0

Ich habe mich gefragt, wie Sie nach Dateien auf der Grundlage ihrer Erweiterung suchen. Wenn Sie nach py oder txt oder einer anderen Erweiterung suchen würden, würde der Benutzer sie eingeben und danach suchen. Ich bin nicht erlaubt, glob os.walkSuche nach Dateien basierend auf der Erweiterung mit os.path

zu verwenden Dies ist die Methode, die ich habe. Bei Bedarf poste ich den ganzen Code.

Der Benutzer gibt zuerst ein Verzeichnis, das danach in einem anderen Verfahren ist, sie

E txt oder E .txt (beide Werke) und es würde wieder die Dateien basierend auf welcher Erweiterung sagen würden Sie verwendet. Ich bin mir nicht sicher, was mit meinem Code falsch ist.

Antwort

1

in Ihrem Code

for file in directory 

ist definitiv falsch, als Verzeichnis ein String mit dem Pfad drin ist. es sollten Sie im Verzeichnis

+0

so etwas wie

for file in os.listdir(directory): 

, um eine Liste von Dateien sein danken! Wenn ich nach Dateien auf der Grundlage ihrer Größe suchen würde, wäre es 'für Datei in os.listdir (Verzeichnis): wenn os.path.getsize (Verzeichnis)> interesting1 [1]: – accelerate

+0

so etwas in der Tat. Wenn Sie jedoch in den Verzeichnisbäumen nach unten gehen wollen, müssen Sie die Rekursion – Julius

+0

verwenden. Das Problem dabei ist jedoch, dass die Eingabe sowohl Ganzzahlen als auch Zeichenketten akzeptiert. Wenn ich es ausführe, bekomme ich 'if os.path.getsize (Verzeichnis)> interesting1 [1]: TypeError: unorderable Typen: int()> str()' – accelerate

Verwandte Themen