Python с оператором ', я должен использовать 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()

Это из урока колбы Шаг 3 (http://flask.pocoo.org/docs/tutorial/dbinit/#tutorial-dbinit). И мне немного любопытно, что в четвертой строке.

Должен ли я импортировать и использовать этот метод contextlib.closing ()?

Когда я узнал ос участием Заявление, во многих статьях говорится, что он закрывает файл автоматически после процесса, как показано ниже.

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

Даже если я не использую этот contextlib.closing (), как показано ниже, какая разница? Это из версии 2.7.6, спасибо.

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

Ответы на вопрос(2)

Ваш ответ на вопрос