2016-12-01 4 views
0

чавкать файл я могу сделать либо:Slurp файл в Python

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

или

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

Есть ли какие-либо преимущества для использования в with заявление здесь?

ответ

1

Первый способ гарантирует, что файл будет закрыт независимо от того, что. Это как делать:

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

Не так ли в последнем случае? Как только файл будет прочитан, gc автоматически закроет указатель файла? – nowox

+2

Я оставлю объяснение [this] (http://stackoverflow.com/a/7396043/5762711) ответ, который делает это красиво :) – alexpeits