Po uruchomieniu następującego kodu, wydaje się, że pobiera on tylko pierwszy mały fragment pliku, a następnie kończy pracę. Czasami otrzymam komunikat o błędzie 10054, ale zwykle po prostu wychodzi bez pobierania całego pliku. Moje połączenie z internetem jest brzydko bezprzewodowe i często dostaję zepsute pliki do pobrania na większe pliki w Firefoksie, ale moja przeglądarka nie ma problemu z uzyskaniem pliku obrazu o rozdzielczości 200k. Jestem nowy w python i programowaniu w ogóle, więc zastanawiam się, jakiego niuansu brakuje mi.Dlaczego nie mogę pobrać całego pliku obrazu za pomocą urllib2.urlopen()
import urllib2
xkcdpic=urllib2.urlopen("http://imgs.xkcd.com/comics/literally.png")
xkcdpicfile=open("C:\\Documents and Settings\\John Gann\\Desktop\\xkcd.png","w")
while 1:
chunk=xkcdpic.read(4028)
if chunk:
print chunk
xkcdpicfile.write(chunk)
else:
break
Dzięki. Działa teraz. Nigdy nie zauważyłem różnicy między "w" i "wb", gdy pracuję z plikami lokalnie, nawet z obrazami. –