2016-01-04 7 views
0

Итак, я писал бота, который вытаскивает изображения из википедии (с запросами) и отправляет их в твиттер (с помощью twython). Я нашел this, что привело меня к мысли, что я мог сделать что-то вродеtwython upload_media от tempfiles

import tempfile 

import twython 
import requests 
... 
    req = requests.get(img_url, stream=True) 
    with tempfile.TemporaryFile() as img_file: 
     for chunk in req: 
      img_file.write(req) 
     resp = twython_client.upload_media(media=img_file) 
    return resp['media_id'] 

Но upload_media вызов бросает 400S. Что-то вроде

... 
    with open('tmp_img_file', 'wb') as img_file: 
     for chunk in req: 
      img_file.write(chunk) 
    with open('tmp_img_file', 'rb') as img_file: 
     resp = twython_client.upload_media(media=img_file) 
    os.remove('tmp_img_file') 
    return resp['media_id'] 

делает работы, но не «создает временный файл, который будет удален сразу после использования» всего смысла временных файлов? Что мне не хватает/не так?

ответ

0

Запись продвигает позицию файла, так что вы должны сделать

with tempfile.TemporaryFile() as f: 
    f.write(data_to_write) 
    f.seek(0) 
    read_data = f.read() 

 Смежные вопросы

  • Нет связанных вопросов^_^