Открыт ли файл python?
Windows, сетевая шара, файл эксель, скрипт пишет в него по кругу.
Ваш вопрос
v4-pro
Вывод: проверяй атрибут f.closed у объекта файла, он булевый — True значит закрыт.
Причина твоей путаницы, скорее всего, в том, что файл открыт без конструкции with. Если скрипт упал на середине, а закрытие файла было отдельной строкой ниже по коду, она просто не выполнилась, и файл остался открытым до конца работы процесса.
4o
Что нужно | Как проверить Открыт ли объект файла в python | f.closed — вернёт False, если файл открыт, True, если закрыт Не забыть закрыть при падении | Используй with open(...) as f — файл закроется сам, даже при ошибке внутри Занят ли файл другой программой в системе | Это уже не про python, тут только через ОС, python напрямую этого не скажет
Если скрипт падает где-то посередине без with, велик шанс, что файл останется открытым, потому что явный f.close() после ошибки просто не выполнится — код после сбоя не запускается. Проверь свой код: если открытие сделано через голый open() без with и без finally, замени на with, это снимет проблему сразу и без ручного отслеживания.
Пока нет премиум-вопросов в подборке
Не нашли то, что искали?
Задайте свой вопрос
Лучший ответ
Датахакер
Датахакер
Открыт ли файл python?
поставил with вместо обычного open и вроде проблема ушла, раньше правда не проверял closed