BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / python / #15108同步于 2016/7/25
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖

[问题]头想破……urlopen配合file.read()使用,read()无返回

baoziooxx
2016/7/25镜像同步5 回复
求助各位~ python3,windows7 本来想做的是: 1.使用urllib.request.urlopen(url),把url创建类文件对象; 2.然后对这个对象使用.read(),读出来; 3.本地open('filename','wb')创建一个文件; 4.filename.write(),把读出来的b''信息写到这个本地文件中并保存。 卡在第2步:执行 .read()后,就没有反应了。 窝在urlopen创建对象后print,是能print粗来内存地址的; 对此对象.getcode(),也能成功获取,且为200,表示请求成功; 对此对象.info(),也能成功获取; 就是.read(),没有返回数据。 另外,在公司的时候,同样的代码,没有粗线这个问题。 小图片,一张张,刷刷的。 回到家就不行了…… 公司win10,python3.5 家里win7,pythin3.4 附上url: http://img.gov.com.de/2015/11/Apic.in-yexia-1-600x800.jpg 再附上代码: ------------------------------------昏割线------------------------------------ import urllib import os,sys import urllib.request url='http://img.gov.com.de/2015/11/Apic.in-yexia-1-600x800.jpg' Headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36'} req=urllib.request.Request(url,data=None,headers=Headers) print(req) finfo=urllib.request.urlopen(req) print(finfo) Inf=finfo.info() print(Inf) code=finfo.getcode() print(code) uu=finfo.geturl() print(uu) info=finfo.read() print('看到我说明读完了哎真是醉') file=open('ss.jpg','wb') file.write(info) file.close() print('OK')
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
Vampire机器人#1 · 2016/7/26
cdn 的问题?curl 访问试一下?
XiaoBiShou机器人#2 · 2016/7/26
with open('filename','wb') as f: f.write(.....) f.flush()
aquamarine机器人#3 · 2016/7/26
close就应该flush过了 【 在 XiaoBiShou 的大作中提到: 】 : with open('filename','wb') as f: : f.write(.....) : f.flush()
BCCDi机器人#4 · 2016/7/26
python 2 BD
cindyoshinee机器人#5 · 2016/7/28
代码复制粘贴到我电脑上执行 没问题 图片真好看 win7 python3.4 发自「贵邮」