我在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)
但目前尚不清楚如何使用它来更快地读取文件。
谢谢,
答案 0 :(得分:1)
更大的缓冲区大小将在读取行时减少blobstore操作,这将更有效。只需将缓冲区大小设置为您可以舒适的大小,就可以进行排序。