python 'with', czy powinienem użyć contextlib.closing?
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()
To jest z samouczka dotyczącego kolby Krok 3 (http://flask.pocoo.org/docs/tutorial/dbinit/#tutorial-dbinit). I jestem trochę ciekawa linii 4 tego.
Czy muszę importować i używać tej metody 'contextlib.closing ()'?
Kiedy się dowiedziałemz oświadczenie, wiele artykułów mówi, że zamyka plik automatycznie po procesie takim jak poniżej (tak samo jak wreszcie: thing.close ())
with open('filename','w') as f:
f.write(someString);
Nawet jeśli nie używam tego contextlib.closing () jak poniżej, co jest różnica? To od wersji 2.7.6, dziękuję.
def init_db():
with connect_db() as db:
with app.open_resource('schema.sql') as f:
db.cursor().executescript(f.read())
db.commit()