[Python] Is it possible to have an optional with/as statement in python?

Discussão em 'Python' iniciado por Stack, Dezembro 1, 2024.

  1. Stack

    Stack Membro Participativo

    Instead of this:

    file = open(f)
    do_something(file)
    file.close()


    it's better to use this:

    with open(f) as file:
    do_something(file)


    What if I have something like this?

    if f is not None:
    file = open(f)
    else:
    file = None
    do_something(file)
    if file is not None:
    file.close()


    Where do_something also has an if file is None clause, and still does something useful in that case - I don't want to just skip do_something if file is None.

    Is there a sensible way of converting this to with/as form? Or am I just trying to solve the optional file problem in a wrong way?

    Continue reading...

Compartilhe esta Página