Condicional com declaração em Python

Existe uma maneira de iniciar um bloco de código com uma instrução with, mas condicionalmente?

Algo como:

if needs_with():
    with get_stuff() as gs:

# do nearly the same large block of stuff,
# involving gs or not, depending on needs_with()

Para esclarecer, um cenário teria um bloco envolto na instrução with, enquanto outra possibilidade seria o mesmo bloco, mas não envolto (ou seja, como se não fosse recuado)

Os experimentos iniciais, é claro, geram erros de indentação.