J'essaie d'ouvrir un fichier dans GAE qui a été récupéré en utilisant urlfetch()
.Ouvrir un fichier à partir d'urlfetch dans GAE
Voici ce que j'ai jusqu'à présent:
from google.appengine.api import urlfetch
result = urlfetch.fetch('http://example.com/test.txt')
data = result.content
## f = open(...) <- what goes in here?
Cela peut sembler étrange, mais il y a une très similaire fonction dans le blobstore qui peut écrire data
à un blobfile:
f = files.blobstore.create(mime_type='txt', _blobinfo_uploaded_filename='test')
with files.open(f, 'a') as data:
data.write(result.content)
Comment J'écris data
dans un objet fichier arbitraire?
Modifier: Cela aurait dû être plus clair; J'essaie d'urlfetch un fichier et ouvrir result.content
dans un objet fichier. Il peut donc s'agir d'un .doc au lieu d'un .txt
Oui, mais je dois stocker les données de texte dans un fichier objet. Et aussi, si le fichier était un fichier .doc, les données de result.content ne seraient pas simplement du texte brut. – kennysong
Quel objet fichier? Vous pouvez ajouter le contenu (le fichier data = un blob) au blobstore et lui donner le type mime correspondant. De cette façon, je télécharge des images ou un pdf et les enregistre dans le blobstore. Votre fetch reçoit une goutte de données. – voscausa
Je veux dire un objet fichier créé à partir de 'f = open ('text.txt')'. Cela semble stupide, mais j'en ai besoin car je ne mets pas les données dans le BlobStore. (Dans le cas où vous êtes curieux, je passe en 'f' comme paramètre pour un objet gdata.MediaSource) – kennysong