Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Общие вопросы > Почему нет ошибки при записи в несуществующий файл


Автор: Bepeck 3.7.2014, 15:31
Я только-только сел изучать Питон, возник такой вопрос:

как заставить скрипт "упасть" при ошибках работы с файлом? Даже если я не использую try, а просто делаю так:

Код

import time

myfile = open("text.txt", "w")
print ('open')
time.sleep(10)
myfile.write("line 1\n")
myfile.write("утф штоле\n")
print ('start')
time.sleep(10)
print ('finish')
myfile.write("111111\n")
myfile.close()


Как видно, в скрипте 2 паузы. Я пробовал файлик удалять и во время первой и во время второй паузы. Скрипт не ругается, от слова "совсем". Но файл при этом отсутствует после выполнения. Единственным пока объяснением видится то, что пока дескриптор занят скриптом, файл не удаляется, а реальное удаление происходит сразу же после закрытия. В то же время, а как отловить такую ошибку вообще? Мало ли, всякое случается в жизни у программ.

Автор: megaflop 4.7.2014, 01:53
перед каждой записью проверять os.path.exists
есть ещё вариант отслеживать файл модулем signal (не просто)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)