Cuando ejecuto el siguiente código, parece que solo está descargando el primer bit del archivo y luego saliendo. Ocasionalmente, obtendré un error 10054, pero generalmente sale sin obtener todo el archivo. Mi conexión a Internet es inalámbrica, y frecuentemente obtengo descargas rotas en archivos más grandes en Firefox, pero mi navegador no tiene problemas para obtener un archivo de imagen de 200k. Soy nuevo en Python, y la programación en general, así que me pregunto qué matiz me estoy perdiendo.¿Por qué no puedo descargar un archivo de imagen completo con 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
Gracias. Funciona un regalo ahora. Nunca había notado la diferencia entre "w" y "wb" trabajando con archivos localmente, incluso con imágenes. –