2015-08-05 15 views
35

urllib.quote()'u kullanmak istiyorum. Ancak python (python3) modülü bulamıyor.Python: urllib.quote öğesinin içe aktarılması

print(urllib.quote("châteu", safe='')) 

Ben urllib.quote nasıl aktarırım: varsayalım , ben bu kod satırı var?

import urllib veya import urllib.quote hem beni karıştırır Ne

AttributeError: 'module' object has no attribute 'quote' 

urllib.request Python 3.x ise import urllib.request

cevap

57

üzerinden erişilebilir olmasıdır ver seni urllib.parse.quote ithal etmek gerekir:

>>> import urllib.parse 
>>> urllib.parse.quote("châteu", safe='') 
'ch%C3%A2teu' 

Python 2.x urllib module documentation'a göre:

NOT

urllib modül urllib.request, urllib.parse ve urllib.error için Python 3'te bölüme ayrılır ve yeniden adlandırıldı.

8

urllib Python3 bazı değişikliklere uğradığından ve Python 2.x ve 3.x hem işlemek gerekirse istisna ve yükü yakalamak

>>> from urllib.parse import quote 
>>> quote('"')      
'%22'        
11

şimdi ayrıştırma altmodülün alınabilir alternatif.

try: 
    from urllib import quote # Python 2.X 
except ImportError: 
    from urllib.parse import quote # Python 3+ 

Ayrıca bu işlemek için piton uyumluluk sarıcı six kullanabilirsiniz.

from six.moves.urllib.parse import quote 
+1

Teşekkürler, bu tekrar hesaplamaya değer. –

İlgili konular