2016-08-07 14 views
0

Ich versuche, ein Python-Programm zu reproduzieren, die die folgende Codezeile istin Bezug auf die Parameter in os.path.join

data = glob(os.path.join("./data", config.dataset, "*.jpg")) 

Meine Vermutung beinhaltet, dass es alle .jpg Dateien in /data Ordner gespeichert werden einzufangen. Aber ich bin mir nicht sicher, ob config.dataset hier verwendet wird? Sollte die Ordnerstruktur wie folgt aussehen: /data/config.dataset/*.jpg Der Grund, warum ich das verstehen muss, ist, dass ich einen Dateneingabeordner erstellen muss, um das Programm auszuführen. Das ursprüngliche Programm teilt nicht die Details der Datenorganisation.

+1

'config.dataset' sollte nur eine Zeichenfolge sein. Wenn also der Wert "bob" wäre, würden Sie mit "data" als Liste von jpeg-Dateien in './Data/bob' enden ... –

+1

Ich würde annehmen, dass' config.dataset' den Rest der Datei enthält Pfad, um die Datei (en) zu finden. Es könnte so einfach sein wie './data/subdir/*. jpg' oder sogar' ./data/my/sub/dir/ *. jpg' – Nicarus

Antwort

2

config.dataset in Ihrem Codefragment ist eine Variable. Es ist entweder ein dataset Attribut von einigen config Objekt, oder die dataset globale Variable in einem importierten config Modul (aus der Sicht dieses Codes funktionieren sie gleich).

Wie einige Leute kommentiert haben, damit dieser Code funktioniert, muss config.dataset zu einer Zeichenfolge, wahrscheinlich einem einzelnen Verzeichnisnamen, ausgewertet werden. Das Ergebnis des Aufrufs join ist also etwa "./data/images/*.jpg" (wenn config.dataset"images" ist). Die Variable könnte auch einen (vorher verbundenen) Pfadabschnitt aufweisen, der einen oder mehrere Schrägstriche enthält. Zum Beispiel, wenn config.dataset war "path/to/the/images", würden Sie mit "./data/path/to/the/images/*.jpg" enden.