2016-12-01 1 views
0

Pour slurp un fichier que je peux faire soit:fichier Slurp en python

with open('foo', 'r') as fd: 
    content = fd.read() 

ou

content = open('foo').read() 

Y at-il des avantages à utiliser ici la déclaration with?

Répondre

1

La première méthode garantit que le fichier sera fermé, quoi qu'il arrive. C'est comme faire:

try: 
    fd = open('foo') 
    content = fd.read() 
    # ... do stuff here 
finally: 
    fd.close() 
+1

Ce n'est pas aussi le cas avec cette dernière solution? Une fois que le fichier est lu le gc fermera automatiquement le pointeur de fichier à droite? – nowox

+2

Je vais laisser l'explication à [this] (http://stackoverflow.com/a/7396043/5762711) réponse, qui le fait beutifully :) – alexpeits