@nano_e_t_4

Как вернуть значение и закрыть файл?

Всем привет
есть функция, которая открывает файл, читает значение и возвращает его:
def get_name(self,id):
        db = shelve.open("file.shv")
        value = db[id].get("file_path")
         db.close()
        return db[id].get("file_path")


Вопрос - можно ли сделать так (такой вариант попробовал, возвращается None):
return db[id].get("file_path") and db.close()
  • Вопрос задан
  • 171 просмотр
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Зачем? Используйте контекст:
def get_name(self,id):
    with shelve.open("file.shv") as db:
        return db[id].get('file_path')
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы