Joh*_*ann 5 python image download
当我运行以下代码时,它似乎只是下载文件的第一个小位然后退出.有时候,我会得到一个10054错误,但通常只是在没有获取整个文件的情况下退出.我的互联网连接是无聊的,我经常在firefox中的较大文件上下载,但我的浏览器获取200k图像文件没有问题.我是python和编程的新手,所以我想知道我缺少什么细微差别.
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
Run Code Online (Sandbox Code Playgroud)
Ale*_*lli 10
要在Windows上编写二进制文件,您需要将其显式打开为二进制文件,即:
xkcdpicfile=open("C:\\Documents and Settings\\John Gann\\Desktop\\xkcd.png",
"wb")
Run Code Online (Sandbox Code Playgroud)
注意额外b
的选项:"wb"
,不只是"w"
!
我还建议丢失print chunk
可能会将任意二进制序列发送到控制台,并可能导致不良副作用.如果你强烈要求毫无意义地看到十六进制字节,也许print repr(chunk)
,如果你坚持的话.但我会发现更有意义的东西,例如len(chunk)
,到目前为止可能是字节总数.
归档时间: |
|
查看次数: |
1017 次 |
最近记录: |