Разница между операторами with и try/finally при работе с ресурсами в Python заключается в их назначении:
  - Оператор with предназначен для облегчения работы с ресурсами, которые требуют корректного освобождения после использования.                                                                          sky.pro                       Он автоматически закроет ресурс по выходу из блока кода, даже если при работе с ним произошло исключение.                                                                          sky.pro                      
- Блок try/finally используется для того, чтобы гарантировать выполнение определённых действий, например, для закрытия внешних ресурсов, таких как ранее открытые файлы.                                                                          pythonchik.ru                       Если в блоке try не возникнет исключения, то блок finally выполнится так же, как и при наличии ошибки, и программа возобновит свою работу.                                                                          pythonchik.ru                      
Таким образом, оператор with упрощает работу с ресурсами, а блок try/finally позволяет гарантировать корректное освобождение ресурсов даже в случае возникновения исключений.                                                                          sky.pro                                                                                               pythonchik.ru