2011-12-06 17 views
12

2.7 kod çalışıyorum, ancak 3.2'de cookielib ve urllib2 diye bir şey yok mu? Bu kodu 3.2'de nasıl çalıştırabilirim? Birinin merak ettiğinde - Windows'dayım.Python 3.2 - cookielib

Örnek Python docs itibaren 2,7

import urllib, urllib2, cookielib 

cj = cookielib.CookieJar() 
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) 

login_data = urllib.urlencode({'login' : 'admin', 'pass' : '123'}) 

resp = opener.open('http://website/', login_data) 
html = resp.read() 

# I know that 3.2 is using print(), don't have to point that out. 
print html 
+1

http://python3porting.com/stdlib.html olarak yeniden adlandırırsınız. –

cevap

23

: cookielib modülü Python 3.0 http.cookiejar olarak değiştirilmiştir

Not. 2to3 aracı, kaynaklarınızı 3.0'a dönüştürürken içe aktarma işlemlerini otomatik olarak uyarlayacaktır.

Bu kabul edilebilir bir çözüm değil mi? Değilse neden?

try: 
    from http.cookiejar import CookieJar 
except ImportError: 
    from cookielib import CookieJar 
7

, hem piton 2 ve 3 için şu ön kullanın. Yani, URL'yi urllib.request ve http.cookijar

3

Python 3.2, urllib2 değiştirilmiştir urllib.request ve cookielib http.cookiejar değiştirilmiştir:

cookielib yukarıda belirtilen adlandırıldı olarak
İlgili konular