我的情况是,根据用户在我的包中选择的内容,我需要安装多个处理程序。
示例我有3个处理程序。如果用户说他们想要使用代理,那么您需要添加代理处理程序,但这并非总是如此。
那么你可以多次调用opener = urllib2.build_opener()而不覆盖现有的处理程序吗?
例如: opener = urllib2.build_opener(RedirectHandler()) opener = urllib2.build_opener(ProxyHandler())... 等...
我并不是一直都需要所有处理程序,而且我不想为每种情况制作用例。
谢谢
答案 0 :(得分:1)
答案结果很简单。
handlers = [HandlerObj1(),..., HandlerObjn()]
urllib2.build_opener(*handlers)
那就是它!这只是一个*。