2016-12-02 4 views
0

Ich versuche zu lernen Python Machine Learning aus dieser book. Ich lief in den folgenden Code aus Kapitel 3, das verstehe ich nicht ganz:Interpretieren Python öffnen Funktionssegment

posts = [open(os.path.join(DIR, f)).read() for f in 
os.listdir(DIR)] 

Ich habe eine Vorstellung davon, was die offene Funktion tut, aber ich verwirrt, wenn ich die os.path.join Funktion sehen und für f. Kann ich eine intuitive und detaillierte Antwort bekommen, die ein Noob-Programmierer verstehen kann?

Antwort

0

Dies ist ein Listenverständnis. Es ist gleichbedeutend mit dem folgenden:

posts = [] 
for f in os.listdir(DIR): 
    filename = os.path.join(DIR, f) 
    file = open(filename) 
    content = file.read() 
    posts.append(content) 

Für jeden Dateinamen in einer Verzeichnisliste, wird dies die Dateinamen mit dem vollständigen Pfad zu verbinden, öffnen Sie es, lesen Sie es und fügen Sie es die posts Liste.