Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 22, 2011 15:42:29

guranvir
От:
Зарегистрирован: 2010-03-16
Сообщения: 186
Репутация: +  0  -
Профиль   Отправить e-mail  

скачать файл в Python скрипте

Вопрос такой:
как лучше организовать загрузку файла с сайта? Работать скрипт будет только в Linux.
Размер файла может быть и 300 мб и 70 мб, но не меньше этого
P.S. Да вот это я чего то “понятно” написал в первой версии)



Отредактировано (Янв. 22, 2011 19:07:34)

Офлайн

#2 Янв. 22, 2011 18:51:42

guranvir
От:
Зарегистрирован: 2010-03-16
Сообщения: 186
Репутация: +  0  -
Профиль   Отправить e-mail  

скачать файл в Python скрипте

Вся проблема в том, что в случае однопоточным приложением естественно на время загрузки оно подвисает, а это не есть хорошо



Офлайн

#3 Янв. 22, 2011 18:56:19

guranvir
От:
Зарегистрирован: 2010-03-16
Сообщения: 186
Репутация: +  0  -
Профиль   Отправить e-mail  

скачать файл в Python скрипте

текущий код:

kernelsource=open(self.source[self.source.index('linux-2.6.37'):],'wb')                 
f=urllib2.urlopen(self.source)
kernelsource.write(f.read())
kernelsource.close()



Офлайн

#4 Янв. 22, 2011 18:57:16

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

скачать файл в Python скрипте

О чем вы спрашиваете?



Офлайн

#5 Янв. 22, 2011 19:02:38

guranvir
От:
Зарегистрирован: 2010-03-16
Сообщения: 186
Репутация: +  0  -
Профиль   Отправить e-mail  

скачать файл в Python скрипте

Вопрос заключается в следующем как в скрипте лучше организовать скачивание файла с сайта:
-через wget
-через urllib2. Здесь правда возникает необходимость многопоточности, так как сам тарболл с исходниками чуть более чем 300 мб
Но возможно здесь требуются иные инструменты? (тот же Twisted).
Еще было бы очень желательно, чтобы можно было получать величину уже загруженного для индикации в GUI



Офлайн

#6 Янв. 22, 2011 19:05:35

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

скачать файл в Python скрипте

Делайте как умеете. Доступные способы можно перечислять очень долго.



Офлайн

#7 Янв. 22, 2011 19:13:13

guranvir
От:
Зарегистрирован: 2010-03-16
Сообщения: 186
Репутация: +  0  -
Профиль   Отправить e-mail  

скачать файл в Python скрипте

Тогда два вопроса заключительных:
Остановился на urllib2
1) Можно ли urllib2 использовать с многопоточным приложением?
2) Как запрашивать размер того, что уже скачено ?
по поводу 2 наверняка есть все в доках, просто ткните в какую часть док смотреть



Отредактировано (Янв. 22, 2011 19:17:47)

Офлайн

#8 Янв. 22, 2011 19:29:09

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

скачать файл в Python скрипте

1. Можно
2. urllib2.open возвращает file like object. Делайте потом с ним что хотите.



Офлайн

#9 Янв. 22, 2011 19:34:36

guranvir
От:
Зарегистрирован: 2010-03-16
Сообщения: 186
Репутация: +  0  -
Профиль   Отправить e-mail  

скачать файл в Python скрипте

Да действительно насчет file like object нем подумал, а для него это задача решается вполне нормально)) Спасибо)



Отредактировано (Янв. 22, 2011 19:35:15)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version