0

警告: このプロジェクトには python 2.7.5 を使用する必要があります。

私の問題は次のとおりです。 IDN-Form (例: müller.de) で表されるウムラウト ドメインを ACE-String (例: xn--mller-kva.de) に変換しようとしています。encodings.idnaPython 2.3で導入する必要がある公式のPythonドキュメントを読んでいます。私が得たすべてをencodings.idna実行しても見つけられないように見える方法は次のとおりです。dir(encodings)

['CodecRegistryError',
 '__builtin__',
 '__builtins__',
 '__doc__',
 '__file__',
 '__name__',
 '__package__',
 '__path__',
 '_aliases',
 '_cache',
 '_import_tail',
 '_norm_encoding_map',
 '_unknown',
 'aliases',
 'ascii',
 'codecs',
 'hex_codec',
 'normalize_encoding',
 'search_function',
 'utf_8']

ここで何が間違っているのですか?

前もって感謝します!

4

1 に答える 1

1

使用するだけunicode_object.encode('idna')です:

>>> import encodings
>>> encodings.idna
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'idna'
>>> u'müller.de'.encode('idna')
'xn--mller-kva.de'
>>> encodings.idna
<module 'encodings.idna' from '/usr/lib/python2.7/encodings/idna.pyc'>

使用されるか、明示的にインポートされるまでインポートされないようです。

>>> import encodings
>>> encodings.idna
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'idna'
>>> import encodings.idna
>>> encodings.idna
<module 'encodings.idna' from '/usr/lib/python2.7/encodings/idna.pyc'>
于 2013-11-15T09:37:43.717 に答える