2011-12-29 36 views
3

imp.load_source()methodをPythonモジュールのインポートに使用すると便利なのはいつですか? importキーワードで通常のインポートとは逆のシナリオがありますか?imp.load_source()in Python

答えて

2

importは、常に次のorderになります

あなたがしたい場合は、すでにモジュール
  • 輸入フックsys.path
  • 組み込みモジュール
  • 内の場所で

  • ファイルをインポート
    1. これらのどれでも見つからないモジュールをインポートするあなたはファイル名を知っているので、imp.load_source()を使うことができます。または、以前のインポートメカニズムによってシャドーされるモジュールをインポートする場合は、たとえば、をsys.pathのディレクトリからインポートする場合は、独自のバージョンであるfooが最初に見つかるカスタムインポートフックがあります。そのためにimp.load_source()を使用することもできます。基本的には、importのようにモジュールのコードのソースを制御することができます。

  • +0

    「フック」とはどういう意味ですか? – xralf

    +1

    私が言及したインポートフックについて尋ねるつもりだったのであれば、それはPythonが通常見ない場所や方法でモジュールを見つけることを可能にする方法です。 [PEP 302](http://www.python.org/dev/peps/pep-0302/)を参照してください。 –