It seems strange to me that
with open(file, 'r')
can report
FileNotFoundError: [Errno 2]
but I can't catch that in some way and continue on. Am I missing something here or is it really expected that you use isfile() or similar before a with open() ?