如何检查blobstore文件是否可读

时间:2012-04-27 18:50:04

标签: python google-app-engine blobstore

如何检查blobstore file used for writing是否已完成并准备好阅读?

我是否尝试打开文件并抓住FinalizationError,尝试get_blob_key或是否有files.is_readable(blobstore_file_name)方法?

更新:

我似乎写了一个令人困惑的问题,所以我会画一幅背景图片。

我正在使用具有多个后台任务的file api生成文件。在完成此文件之前,此文件不可读。

我想显示正在生成的文件列表,并在每个文件准备就绪时显示每个文件的下载链接。

将boolean属性“finalized”添加到引用这些文件的实体只是为了表明后台进程已经完成,听起来很愚蠢。

还有其他情况我想检查文件的状态,而不会自己为每个最终文件存储一个指示器。

1 个答案:

答案 0 :(得分:0)

实际上,FinalizationError只能在致电finalize()时被抛出,所以很可能在尝试open()文件时你无法获得它。

完成文件编写后,您可以致电finalize()或使用close(finalize=True)

with files.open(file_name, 'a') as f:
    f.write(file_data)
    f.close(finalize=True)

,您的文件应该可以在此之后阅读。

请告诉我们您是否在使用此方法时遇到任何问题。