[Python-Dev] Acquire/release functionality (original) (raw)

holger krekel pyth@devel.trillke.net
Mon, 3 Feb 2003 18:03:35 +0100


Moore, Paul wrote:

Paul Moore <lists@morpheus.demon.co.uk> writes:

> As far as the acquire/release case is concerned, I think that there is > definitely a strong case for syntactic support for this. The > equivalent idiom in C++ is "resource acquisition is initialisation" > which, while not having syntax support, does rely on the existence of > deterministic destructors, and on the ability to introduce a new scope > at will. Python has neither of these, and the try...finally construct > is verbose enough to make something better worth having. In trying to draw a parallel between "with" and the C++ RAII idiom, I hit a funny, best illustrated by an example: class autoclose(file): exit = close with f = autoclose("blah.txt", "r"): # Let's get sneaky g = f # Main code here # File now gets closed with g:

I haven't found a way to make assignments optional (in recent experiments). Is this possible with Python's Parser?

holger