Будет ли что-то вроде этой работы:

рвых, я не уверен, что мой подход правильный, поэтому я открыт для разных предложений.

Если операторы try / кроме часто повторяются в коде, есть ли хорошие способы сократить их или избежать их полного выписывания?

try:
    # Do similar thing
    os.remove('/my/file')
except OSError, e:
    # Same exception handing
    pass

try:
    # Do similar thing
    os.chmod('/other/file', 0700)
except OSError, e:
    #Same exception handling
    pass

Например, для однострочных действий вы можете определить оболочку обработки исключений и затем передать лямбда-функцию:

def may_exist(func):
    "Work with file which you are not sure if exists."""
    try:
        func()
    except OSError, e:
        # Same exception handling
        pass

may_exist(lambda: os.remove('/my/file'))
may_exist(lambda: os.chmod('/other/file', 0700))

Это «решение» только делает вещи менее понятными? Должен ли я просто полностью выписать все операторы try / кроме?

Ответы на вопрос(4)

Ваш ответ на вопрос