guranvir
Янв. 22, 2011 15:42:29
Вопрос такой:
как лучше организовать загрузку файла с сайта? Работать скрипт будет только в Linux.
Размер файла может быть и 300 мб и 70 мб, но не меньше этого
P.S. Да вот это я чего то “понятно” написал в первой версии)
guranvir
Янв. 22, 2011 18:51:42
Вся проблема в том, что в случае однопоточным приложением естественно на время загрузки оно подвисает, а это не есть хорошо
guranvir
Янв. 22, 2011 18:56:19
текущий код:
kernelsource=open(self.source[self.source.index('linux-2.6.37'):],'wb')
f=urllib2.urlopen(self.source)
kernelsource.write(f.read())
kernelsource.close()
Андрей Светлов
Янв. 22, 2011 18:57:16
О чем вы спрашиваете?
guranvir
Янв. 22, 2011 19:02:38
Вопрос заключается в следующем как в скрипте лучше организовать скачивание файла с сайта:
-через wget
-через urllib2. Здесь правда возникает необходимость многопоточности, так как сам тарболл с исходниками чуть более чем 300 мб
Но возможно здесь требуются иные инструменты? (тот же Twisted).
Еще было бы очень желательно, чтобы можно было получать величину уже загруженного для индикации в GUI
Андрей Светлов
Янв. 22, 2011 19:05:35
Делайте как умеете. Доступные способы можно перечислять очень долго.
guranvir
Янв. 22, 2011 19:13:13
Тогда два вопроса заключительных:
Остановился на urllib2
1) Можно ли urllib2 использовать с многопоточным приложением?
2) Как запрашивать размер того, что уже скачено ?
по поводу 2 наверняка есть все в доках, просто ткните в какую часть док смотреть
Андрей Светлов
Янв. 22, 2011 19:29:09
1. Можно
2. urllib2.open возвращает file like object. Делайте потом с ним что хотите.
guranvir
Янв. 22, 2011 19:34:36
Да действительно насчет file like object нем подумал, а для него это задача решается вполне нормально)) Спасибо)