0

我在 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)

但目前尚不清楚如何使用它来更快地读取文件。

谢谢,

4

1 回答 1

1

更大的缓冲区大小将导致读取行时的 blobstore 操作更少,这将更有效。只需将缓冲区大小设置为尽可能大,然后您就可以排序了。

于 2013-02-27T11:52:16.503 回答