Предложение 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 вы не должны закрывать
файл явно. Это произойдет автоматически при окончании записи в файл.
Комментариев нет:
Отправить комментарий