Hallo,
wie kann ich glob dazu veranlassen, dass er [BLUB] ignoriert, wenn es im Namen eines Verzeichnisses auftaucht.
glob.glob und Verzeichnisnamen welche [] enthalten
Warum nicht einfach explizit ausfiltern:
Stefan
Code: Alles auswählen
itr = (fn for fn in glob.iglob(....) if "[BLUV]" not in fn)
Steh' grad auf dem Schlauch, vielleicht ist es einfach zu spät.
Beispiel:
Pfad: "C:\t\t 2\2 34 [BLUB]"
Suche: *.jpg
Eigentlich will ich verhindern, dass [BLUB] interpretiert wird, gehört ja schließlich zum Pfad.
Beispiel:
Pfad: "C:\t\t 2\2 34 [BLUB]"
Suche: *.jpg
Code: Alles auswählen
from glob import glob
glob(r"C:\t\t 2\2 34 [BLUB]\*.jpg"
Ach so, du willst nicht Dateien ignorieren, die ein "[BLUB]" enthalten, sondern du willst, verhindern, dass glob die [] als Zeichengruppe interpretieren? Dann musst du ein \ davor schreiben. Jedenfalls unter Unix/OSX geht das so. Da müsste aber auch das \* in deinem Beispiel als Sternchen und nicht als Verzeichnis, in dem *.jpg-Dateien stehen, interpretiert werden.
Stefan
Stefan
Lustig, die Pfadangaben kommen doch von os.path.join bzw. os.walk. os.listdir kommt mit der Angabe zurecht.
Ich benutze Python 2.7.
Die Lösung ist:
Mach' aus "[BLUB]" ein "[[]BLUB]".
Herrlich, wie man mit simplen Dingen Zeit totschlagen kann.
Ich benutze Python 2.7.
Die Lösung ist:
Mach' aus "[BLUB]" ein "[[]BLUB]".
Herrlich, wie man mit simplen Dingen Zeit totschlagen kann.