This is from flask tutorial Step 3:
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()
Regarding line 4, must I import and call 'contextlib.closing()'?
When I've learned about with statement, many articles said that it closes file automatically after process like below. (same as Finally: thing.close()
)
with open('filename','w') as f:
f.write(someString);
Even though I don't use that contextlib.closing()
like below, what's the difference?
It's from version 2.7.6, Thank you.
def init_db():
with connect_db() as db:
with app.open_resource('schema.sql') as f:
db.cursor().executescript(f.read())
db.commit()