А у with есть преимущества перед
try:
...
finally:
file.close()
?
А with работает не только с файлами