如何更有效地使用blobstore.BlobReader

0 投票
1 回答
698 浏览
提问于 2025-04-17 17:13

我在使用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的操作,这样会更高效。只要把缓冲区大小设置得尽可能大,你就可以解决这个问题了。

撰写回答