2017-12-29 18 views
0

put()を使用してgridFSに大きなファイルを書き込むには、コンテキストマネージャーwithを使用する必要がありますか? は GridFS: 'put'を使ってファイルを書き込むには、明示的に 'with'ブロックが必要ですか?

try: 
    f = new_file(**kwargs) 
    f.write(data) 
finally: 
    f.close() 

はそれが開いていると、ファイルのクローズが自動的に行われるので、明示的に必要とすることなく、必要としないわけない、 put()がやっと同等です呼び出し、 put() hereのドキュメントを見てみますか?

答えて

0

gridfs.GridFS.put isn't a context manager。コンテキスト管理プロトコルの__enter____exit__メソッドを定義していません。

コンテキストマネージャーとして何も変更せずに直接使用すると、AttributeErrorになります。

gridfs.GridFS.putをそのまま使用すると、数行のコードが保存され、さらに重要なことにGridFileの開閉を管理する必要があります。

関連する問題