2017-01-30 9 views
1

最初の型が始まる時に呼ばれimportlib、(sys.path_hooks上トラバースによって発見)(sys.meta_path上トラバースで見つかった)「メタパスファインダー」とパスエントリのFinder」の違いは何ですか?importlibを使用して任意のソースからモジュールをインポートする方法は?

を使用して

* .pyや* .pyc以外のソースからモジュールをインポートできるカスタマイズされたインポートを実装したいとします。たとえば、次のようにします。ストリームからどうすればいいですか?

答えて

2

sys.path_hooks returns a finder factory

私たちは、あなたがやりたい読むべき PEP 302 relevant partで読むようの

パスフックはのsys.pathの一部(またはpackage.__path__)処理

と呼ばれています。話に来て

プロセスがあるが(私は本当に私たちが初期化ファイルをどうホーカス​​ポーカスわからないです)、私たちは私のコードでcustom hookを使用しますが、私はそのままそれをコピーすることをお勧めいたしますないでしょうそのようなビットのように - find_moduleメソッドは、モジュールとして受け入れたいものに応じてselfまたはNoneを返します。load_moduleメソッドは、コードをコンパイルしてsys.modulesにエントリを割り当てることでロードします。これらの部品を交換することで、必要なものをロードすることができます。

関連:私は継続し、より具体的な質問がある

+0

:http://stackoverflow.com/questions/41990169/how-is-python-sys -path-hooks-customized-loaded-of-modulesのために正しく使用される – michael

関連する問題