2017-07-06 3 views
1

Sie wollen etwas aus Python herausholen! Ich wollte ein Skript schreiben, um all diese sorglos platzierten JPG-Dateien von meinem Desktop zu verschieben.Python-Starter-Programm: Verschieben von Dateien

Thing, ist das Skript, das ich benutze scheint nichts zu finden.

Gedanken?

import os, shutil, glob 

dst_fldr = "~/path/Desktop/newfolder"; 

for jpg_file in glob.glob("~/path/Desktop"+"\\*.jpg"): 
    print jpg_file + "will be moved to " + dst_fldr 
    shutil.move(jpg_file, dst_fldr); 
+1

Haben Sie eine begleitende Ausgabe, Fehler oder anderweitig? –

+0

@DavyM Kein Fehler .... glob gibt in diesem Fall eine leere Liste zurück und nichts, um in der Schleife zu iterieren, so dass das Skript stillschweigend beendet wird. –

Antwort

3

~ ist kein Zeichen, dass glob versteht (es ist ein Zeichen, das bash versteht und erweitert). Sie müssen einen vollständigen Pfad angeben.

dst_fldr = "/path/to/Desktop/newfolder"; 

Darüber hinaus wollen Sie würden die Wildcard-Suche ändern, um so etwas wie folgt aus:

glob.glob("/path/to/Desktop/*.jpg"): 

Wenn Ihr Python-Skript in der Desktop befindet, können Sie den /path/to/Desktop Teil des Weges fallen kann in beide Fälle.

Mit diesen Änderungen an Ort und Stelle, ich glaube, du bist gut zu gehen.

+0

Wala! Das funktioniert jetzt: D Vielen Dank COLDSPEED. Irgendeine Chance, die Sie eine gute Weise kennen, um Glob auf mehreren Dateitypen zu verwenden? etwas, das überprüft ".jpg, .JPG,, gif," ect. Ich stelle mir vor, ich könnte mit, wenn Bedingungen filtern, meine Hoffnung ist, dass es etwas nettes ist, was ich tun kann, wenn die Suche bereits durchgeführt wird. –

+0

In der Tat können Sie. Geben Sie '/ pfad/zu/Desktop/(*. Jpg) | (*. Gif)' an. Fügen Sie nach Bedarf weitere Erweiterungen hinzu. –

+0

schien nicht zu funktionieren. Beendete eine andere Schleife um \t "für jpg_file in glob.glob (" ../"+ file_type): " –

Verwandte Themen