declaração python 'with', devo usar 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()
Isso é do tutorial do balão, Etapa 3 (http://flask.pocoo.org/docs/tutorial/dbinit/#tutorial-dbinit) E estou um pouco curioso sobre a linha 4 disso.
Devo importar e usar esse método 'contextlib.closing ()'?
Quando eu aprendi sobrecom declaração, muitos artigos disseram que fecha o arquivo automaticamente após o processo como abaixo. (o mesmo que Finalmente: thing.close ())
with open('filename','w') as f:
f.write(someString);
Mesmo que eu não use esse contextlib.closing () como abaixo, qual é a diferença? É da versão 2.7.6, obrigado.
def init_db():
with connect_db() as db:
with app.open_resource('schema.sql') as f:
db.cursor().executescript(f.read())
db.commit()