Я пытаюсь открыть файл в GAE, который был получен с помощью urlfetch()
.Открыть файл из urlfetch в GAE
Вот что я до сих пор:
from google.appengine.api import urlfetch
result = urlfetch.fetch('http://example.com/test.txt')
data = result.content
## f = open(...) <- what goes in here?
Это может показаться странным, но есть очень похоже функция в Blobstore, что может написать data
к blobfile:
f = files.blobstore.create(mime_type='txt', _blobinfo_uploaded_filename='test')
with files.open(f, 'a') as data:
data.write(result.content)
Как Я пишу data
в произвольный файловый объект?
Редактировать: Должно быть более ясно; Я пытаюсь urlfetch любой файл и открыть result.content
в файле. Так что это может быть .doc вместо .txt
Да, но мне нужно хранить текстовые данные внутри файла объект. А также, если файл был .doc, тогда данные в result.content были бы не просто обычным текстом. – kennysong
Какой файловый объект? Вы можете добавить контент (данные файла = blob) в blobstore и присвоить ему соответствующий тип mimetype. Таким образом, я загружаю изображения или pdf и сохраняю их в blobstore. Ваша выборка получает блок данных. – voscausa
Я имею в виду объект-файл, созданный из 'f = open ('text.txt')'. Звучит глупо, но мне это нужно, так как я не помещаю данные в BlobStore. (Если вам интересно, я передаю 'f' в качестве параметра для объекта gdata.MediaSource) – kennysong