Pythons nya with-statement

I nuvarande version av Python så finns det en liten försmak av en intressant sak som kommer att komma, nämligen ett nytt sätt att hantera fel (exceptions) med hjälp av ett with-statement. Det kan exempelvis se ut enligt följande:

with open('/etc/motd', 'r') as f:
	for line in f:
		gör nått med line

Istället som för tidigare

try:
	f = open('/etc/motd', 'r')
except:
	blahonga fel..
kod

Smidigt va? Du behöver inte heller bry dig om att stänga filen (om du lyckats öppna den). Om du vill använda detta i Python 2.5 så måste du inkludera följande rad bland dina import:s för att det skall funka:

from __future__ import with_statement

Tyvärr så är det inte alla objekt som stödjer detta ännu men för att se vilka objekt som stödjer with så kan du använda dir(objekt) och titta efter __enter__ och __exit__

Mer läsning finnes här:

Lämna ett svar

E-postadressen publiceras inte. Obligatoriska fält är märkta *