__import__() 関数

import() 関数の挙動がドキュメントを読んでもよく分からない。例えば os.path モジュールをインポートしたい場合、以下の 4番目以降のものじゃないとダメみたい。感覚的には、2番目のものでできて欲しい。

>>> __import__('os', globals(), locals(), [])
<module 'os' from 'C:\Python26\lib\os.pyc'>

>>> __import__('os.path', globals(), locals(), [])
<module 'os' from 'C:\Python26\lib\os.pyc'>

>>> __import__('os', globals(), locals(), ['path'])
<module 'os' from 'C:\Python26\lib\os.pyc'>

>>> __import__('os.path', globals(), locals(), ['path'])
<module 'ntpath' from 'C:\Python26\lib\ntpath.pyc'>

>>> __import__('os', globals(), locals(), ['path']).path
<module 'ntpath' from 'C:\Python26\lib\ntpath.pyc'>

>>> __import__('os', globals(), locals(), []).path
<module 'ntpath' from 'C:\Python26\lib\ntpath.pyc'>
Last updated on July 8, 2015