Google для LS_COLORS для некоторых полезных ссылок.
Редактирование: Для списка цветов этот простой сценарий удара может дать общее представление:
IFS=:
set $LS_COLORS
for C in $*
do
IFS='='
set $C
echo -e "\033[$2m$1\033[00m"
done
Нет причин для работайте построчно (небольшие фрагменты И требует, чтобы Python нашел для вас концы строки! -), просто разбейте его на более крупные фрагменты, например:
# from urllib2 import urlopen # Python 2
from urllib.request import urlopen # Python 3
response = urlopen(url)
CHUNK = 16 * 1024
with open(file, 'wb') as f:
while True:
chunk = response.read(CHUNK)
if not chunk:
break
f.write(chunk)
Поэкспериментируйте немного с различными размерами фрагментов, чтобы найти "золотую середину"
Я использовал модуль Mechanize
и его метод Browser.retrieve (). Раньше требовалось 100% ЦП, и загрузка происходила очень медленно, но в некоторых недавних выпусках эта ошибка была исправлена, и она работает очень быстро.
Пример:
import mechanize
browser = mechanize.Browser()
browser.retrieve('http://www.kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.32-rc1.tar.bz2', 'Downloads/my-new-kernel.tar.bz2')
Механизация основана на urllib2, поэтому urllib2 также может иметь аналогичный метод ... но сейчас не могу найти.