Полагаю, я неправильно понял, о чем спрашивают.Перечитав, похоже, что ответ Тима - то, что вы хотите.Позвольте мне, однако, добавить это: если вы хотите поймать исключение из open
, тогда open
должен быть заключен в try
.Если вызов open
находится в заголовке with
, то with
должен быть в try
, чтобы перехватить исключение.Обойти это невозможно.
Поэтому ответ либо: «Путь Тима», либо «Нет, вы делаете это правильно».к которому относятся все комментарии:
import os
if os.path.exists(fName):
with open(fName, 'rb') as f:
try:
# do stuff
except : # whatever reader errors you care about
# handle error