2013-12-11 2 views
0

У меня есть кусок кода Python, который получает URL с правом разрешения от Amazon S3 и копирует его в локальный файл каталога:обратный поток URL-адрес файла с питона urllib2

def fileDownload(self, some_Id, localDir, name, range=None): 
    # [...] something happens here 
    # get the Amazon URL 
    fileUrl = we_get_the_amazon_url_here 
    req = urllib2.urlopen(fileUrl) 
    if len(range): 
     req.headers['Range']='bytes=%s-%s' % (range[0], range[1]) 

    # Do the download 
    with open(os.path.join(localDir,name), 'wb') as fp: 
     shutil.copyfileobj(req, fp) 
    return 1 

Я незнакомый с urllib2, но то, что я хотел бы сделать, - это превратить в этот метод fileDownload в метод fileStreaming, так что I может передать полученное содержимое файла в инструмент вниз по течению.

Любые идеи, как это сделать?

ответ

1

Я думаю, вы должны прочитать документацию. Однако ваш объект «req» является файловым, поэтому вы можете использовать метод read() для получения его содержимого.

def fileDownload(self, some_Id, range=None): 
    # [...] something happens here 
    # get the Amazon URL 
    fileUrl = we_get_the_amazon_url_here 
    req = urllib2.urlopen(fileUrl) 
    if len(range): 
     req.headers['Range']='bytes=%s-%s' % (range[0], range[1]) 

    return req.read() 

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

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