关于urllib2的add_handler

Koenemund
  • 64

请问怎么o2就成了None了,不应该跟o一样是urllib2.OpenerDirector instance吗?add_handler使用的例子不太好找,难道我理解的用法不对?

Python 2.7.3 |EPD_free 7.3-2 (32-bit)| (default, Apr 12 2012, 14:30:37) [MSC v.1500 32 bit (Intel)] on win32 
Type "credits", "demo" or "enthought" for more information.                                                  
>>> import urllib2                                                                                           
>>> o = urllib2.build_opener()                                                                               
>>> o                                                                                                        
<urllib2.OpenerDirector instance at 0x0357D580>                                                              
>>> p = {'http':'127.0.0.1:8080'}                                                                            
>>> ph = urllib2.ProxyHandler(p)                                                                             
>>> ph                                                                                                       
<urllib2.ProxyHandler instance at 0x03588A30>                                                                
>>> o2 = o.add_handler(ph)                                                                                   
>>> o2                                                                                                       
>>>                                                                                                          
回复
阅读 2.9k
1 个回答

知道为什么了,要给o添加一个handler,直接用o.add_handler(ph)即可,不必进行再赋值,因为他是“原地修改”的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏