You might be intrigued by the existence of two separate URL modules in Python -urllib and urllib2. Even more intriguing: they are not alternatives for each other. So what is the difference between urllib and urllib2, and do we need them both?
你可能對於Python中兩個獨立存在的-urllib2和-urllib2感到好奇。更有趣的是:它們並不是可以相互代替的。那麼這兩個模塊間的區別是什麼,並且這兩個我們都需要嗎?
urllib and urllib2are both Python modules that do URL request related stuff but offer different functionalities. Their two most significant differences are listed below:
urllib 和urllib2都是接受URL請求的相關模塊,但是提供了不同的功能。兩個最顯著的不同如下:
urllib2 can accept a Request object to set the headers for a URL request,urllib accepts only a URL. That means, you cannot masquerade your User Agent string etc.
urllib provides the urlencode method which is used for the generation of GET query strings, urllib2 doesn't have such a function. This is one of the reasons why urllib is often used along with urllib2.
For other differences between urllib and urllib2 refer to their documentations, the links are given in the References section.
Tip: if you are planning to do HTTP stuff only, check out httplib2, it is much better than httplib or urllib or urllib2.
提示:如果你僅做HTTP相關的,看一下httplib2,比其他幾個模塊好用。