python 'with' - Anweisung, sollte ich contextlib.schließen?

from contextlib import closing

def init_db():
    with closing(connect_db()) as db:
        with app.open_resource('schema.sql') as f:
            db.cursor().executescript(f.read())
        db.commit()

Dies ist von flask tutorial Schritt 3(http://flask.pocoo.org/docs/tutorial/dbinit/#tutorial-dbinit). Und ich bin wenig neugierig auf die Linie 4, die.

Muss ich importieren und nutzen, dass " contextlib.schließen ()' - Methode?

Wenn ich gelernt habe über mit Aussage, viele Artikel sagte, es schließt sich die Datei automatisch nach dem Prozess wie folgt Aussehen.(dasselbe wie Endlich: Ding.close())

with open('filename','w') as f:
    f.write(someString);

Obwohl ich nicht verwenden, die contextlib.schließen (), wie unten, Was ist Unterschied?
Es ist von version 2.7.6, Danke.

def init_db():
    with connect_db() as db:
        with app.open_resource('schema.sql') as f:
            db.cursor().executescript(f.read())
        db.commit()
  • Hat das Letzte snippet zu arbeiten?
  • ja..., Die funktionieren auf einmal. aber sicher nicht über furthur problem.
InformationsquelleAutor su79eu7k | 2013-12-27
Schreibe einen Kommentar