Est-ce la bonne manière d'utiliser le python "avec la" déclaration en combinaison avec un try-except bloc?:
try:
with open("file", "r") as f:
line = f.readline()
except IOError:
<whatever>
Si c'est le cas, compte tenu de la vieille façon de faire les choses:
try:
f = open("file", "r")
line = f.readline()
except IOError:
<whatever>
finally:
f.close()
Est le principal avantage de la "avec la" déclaration ici que nous pouvons nous débarrasser de trois lignes de code? Il ne semble pas que convaincante pour moi, pour ce cas d'utilisation (même si je comprends que la "avec la" déclaration a d'autres utilisations).
EDIT: c'Est la fonctionnalité de ces deux blocs de code identiques?
EDIT2: Les premières réponses de parler généralement sur les avantages de l'utilisation de "avec", mais celles-ci semblent de bénéfice marginal ici. Nous avons tous été (ou aurait été) appelant explicitement f.close() pendant des années. Je suppose que l'un des avantages est que bâclée codeurs vont bénéficier de l'aide de "avec".