Voltar para dentro de uma declaração 'com' é perigoso? [duplicado]

Oct 21 2020

Preciso retornar o conteúdo de um arquivo, pode fazer isso:

def foo(filePath):
    with open(filePath) as f:
        return json.load(f)

Ou devo fazer isso em vez disso:

def foo(filePath):
    with open(filePath) as f:
        r = json.load(f)
    return r

( Claro que minhas funções fazem outras coisas, este é um modelo de brinquedo )

Respostas

1 JohnKugelman Oct 21 2020 at 18:03

Voltar para dentro de um withbloco não é perigoso. Escreva da primeira maneira.