Я загружаю изображение из Интернета под Linux (debian) без проблем, используя нижеприведенный фрагмент кода. Когда я запускаю тот же самый код в окнах, результирующее изображение искажается. В чем проблема?urllib производит искаженный вывод под окнами?
import urllib, os
url = "http://www.crummy.com/software/BeautifulSoup/10.1.jpg"
contents = urllib.urlopen (url).read()
fn = os.path.join(os.path.expanduser("~"), "winimagetest")
fh = open(fn, "w");fh.write(contents);fh.close()
Целевая система - Windows 7, 64 бит, а установка python - 32 бит. (Это не имеет значения, такой же искаженный вывод произойдет, если python - 64 бит).
Я загрузил искажен image:
urllib устарел, я думаю. Вы должны проверить [запросы] (http://r.duckduckgo.com/l/?kh=-1&uddg=http%3A%2F%2Fdocs.python-requests.org%2Fen%2Flatest%2Findex.html). Не то чтобы это привело вас к источнику ошибки здесь, просто предложение. – JDong
Моя первая попытка состояла в том, чтобы убедиться, что вы открываете файл для записи в двоичном формате, который, я считаю, ** не ** по умолчанию для окон. 'open (fn," wb ")' – sberry
Какая тривиальная вещь Открытие бинарного решения проблемы. @sberry, не могли бы вы добавить свой ответ, чтобы я мог отметить это как решение? – erjoalgo