如何更有效地使用blobstore.BlobReader
我在使用Python 2.7在Google App Engine上,需要读取大小在25到35MB之间的文件。我已经把这些文件上传到Blobstore,并且我用下面的代码来读取文件:
blob_reader = blobstore.BlobReader(blob_key)
for line in blob_reader:
# ...
我想问的是,如何利用BlobReader的buffer_size和position属性来更高效地读取文件。文档没有详细说明,而且我在文件输入输出方面的经验也不多。给出的例子是:
# Instantiate a BlobReader for a given Blobstore value, setting the
# buffer size to 1 MB.
blob_reader = blobstore.BlobReader(blob_key, buffer_size=1048576)
还有
# Instantiate a BlobReader for a given Blobstore value, setting the
# initial read position.
blob_reader = blobstore.BlobReader(blob_key, position=4194304)
但是不太清楚如何使用这些来加快文件读取的速度。
谢谢,
1 个回答
1
更大的缓冲区大小在读取行时会减少对blobstore的操作,这样会更高效。只要把缓冲区大小设置得尽可能大,你就可以解决这个问题了。