如何从变量或http URL获取文件对象而不实际创建文件?

时间:2012-12-18 22:41:33

标签: python google-app-engine file-io pypdf

我想使用PyPDF操作下载的PDF,为此,我需要一个文件对象。

我使用GAE来托管我的Python应用程序,所以我实际上无法将文件写入磁盘。

有没有办法从URL或包含文件内容的变量中获取文件对象?

TIA。

2 个答案:

答案 0 :(得分:3)

大多数工具(包括urllib)已经为您提供了类似文件的功能,但是如果您需要真正的随机访问,那么您需要创建一个StringIO.StringIO并将数据读入其中。

答案 1 :(得分:1)

在GAE中,您可以使用blobstore读取,写入文件数据以及上载和下载文件。您可以使用File API:

示例:

_file = files.blobstore.create(mime_type=mimetype, _blobinfo_uploaded_filename='test')
with files.open(_file, 'a') as f :                                                      
    f.write(somedata)                                                         
files.finalize(_file)