2016-10-01 2 views
3

Ich benutze Glob, um ein bestimmtes Verzeichnis zu durchsuchen, um alle Dateien mit dem angegebenen Namen zu finden, aber ich kann nicht scheinen, es mit Dateien ohne Erweiterung ohne zu arbeiten Suche nach Dateien mit dem Namen übereinstimmen und dann einige ...Finden Sie alle Dateien mit exaktem Namen mit und ohne Erweiterung

Zum Beispiel, hier einige Dateien:
- file2
- -
Datei file.dat

sollte die resultierende Liste sein:
[ 'file', 'file.dat' ]

Wie kann ich glob wie erwartet arbeiten?

Antwort

0

Kurz nach dieser Frage veröffentlichen, ich die Antwort dachte, gab aber nach dem Telefon, bevor ich es schreiben könnte ...

Anstatt also auf glob zu verlassen, Royal alle Dateien zu finden, haben es nur aussehen für Dateien mit Erweiterungen.

Hier ist, wie zu überprüfen, ob glob auch gebraucht wird:

path = 'subdirectory/filename' # no extension 

files = [ path ] # for consistancy 
if not os.path.exists(path): 
    files = glob('%s.*'%path) 
    if not files: 
     raise IOError("no files found") 

for f in files: 
    # do whatever 

Dies sollte mit den meisten Namen arbeiten, einschließlich weirdly formatiert Namen.

+0

Kann ich es derzeit nicht akzeptiert markieren, und bezweifle, dass ich sogar in 2 Tagen schauen, also ja, das war meine akzeptierte Antwort, bevor ich es sogar postete. – Tcll

Verwandte Themen