如何更有效地使用blobstore.BlobReader

时间:2013-02-26 20:55:08

标签: python google-app-engine file-io python-2.7 blobstore

我在GAE上使用python 2.7,我需要读取25到35 MB大小的文件。我已将它们上传到Blobstore,我正在使用以下代码来读取文件:

blob_reader = blobstore.BlobReader(blob_key)
for line in blob_reader:
     # ...

我的问题是,我如何使用BlobReader属性buffer_size和position来更有效地执行此操作。文档不是很详细,我没有很多文件I / O的经验。给出的例子是:

# 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 个答案:

答案 0 :(得分:1)

更大的缓冲区大小将在读取行时减少blobstore操作,这将更有效。只需将缓冲区大小设置为您可以舒适的大小,就可以进行排序。