четверг, 24 октября 2013 г.

Предложение with

Предложение with

Итак есть шанс, что вы уже знаете о предложении with, но возможно что некоторые этого еще не знают. Давайте осознаем реальность, предложение with сохраняет нам кучу времени и существенно уменьшает наш код. Толко представте себе - вы на python открываете файл и хотите в нем что-то сохранить. Обычно вы должны сделать так:
file = open('file.txt','w')
file.write("freepythontips.wordpress.com")
file.close()
А что если пока вы пишите в файл, случиться прерывание, тогда файл не будет правильно закрыт. Я знаю как много трудностей это принесет. Такое случилось однажды со мной; я выполнял программу сбора данных по Интернету. Программа работала около трех часов и неожиданно из-за сбоя прекратила работу. Файл с результатами был испорчен и мне пришлось все повторить. Обратите внимание на этот момент. Что вы должны сделать, что бы застраховаться от таких неожиданностей? Во-первых вы можете обернуть ваш код в выражение try-except, а еще лучше использовать предложение with. Давайте сначало поговорим о выражении try-except. Обычно вы делаете примерно так:
try:
    file = open('file.txt','w')
    file.write(data)
except:
    # выполните что-то при прерывании программы
finally:
    # here comes the trick. Финальные предложения.
    # Они выполняются даже в случае если произошло прерывание
    # и выполнилась обработка этого прерывания. Сдесь мы можем закрыть файл    
    file.close()
Теперь давайте посмотрим на предложение with. При его использовании вы обычно делаете следующее:
with open('file.txt','w') as file:
    file.write(data)
Обратите внимание, при использовании предложения with вы не должны закрывать файл явно. Это произойдет автоматически при окончании записи в файл.

 

Комментариев нет:

Отправить комментарий

X-Plane 11, 12 - любитель, Фото любитель со стажем

Постоянные читатели

Архив блога