urllib.quote()
を使用したいと思います。ただし、python(python3)はモジュールを見つけられません。次のコード行があるとします。
print(urllib.quote("châteu", safe=''))
Urllib.quoteをインポートするにはどうすればよいですか?
import urllib
またはimport urllib.quote
の両方が与える
AttributeError: 'module' object has no attribute 'quote'
私を混乱させるのは、urllib.request
がimport urllib.request
を介してアクセス可能であることです
Python 3.xでは、インポートする必要があります urllib.parse.quote
:
>>> import urllib.parse
>>> urllib.parse.quote("châteu", safe='')
'ch%C3%A2teu'
Python 2.x urllib
module documentation :によると
NOTE
urllib
モジュールは部分に分割され、Python 3でurllib.request
、urllib.parse
、およびurllib.error
に名前が変更されました。
Python 2.xと3.xの両方を処理する必要がある場合は、例外をキャッチして代替をロードできます。
try:
from urllib import quote # Python 2.X
except ImportError:
from urllib.parse import quote # Python 3+
python互換性ラッパー six を使用してこれを処理することもできます。
from six.moves.urllib.parse import quote
urllibはPython3でいくつかの変更を経て、parseサブモジュールからインポートできるようになりました
>>> from urllib.parse import quote
>>> quote('"')
'%22'