2017-10-28 4 views
4

から発信ません:Pythonパッケージは、次の(私によって行わ強調)がある、インポート・システムを記述するのpython <a href="https://docs.python.org/3/reference/import.html" rel="nofollow noreferrer">documentation</a>では、ファイルシステム

[...]あなたは上のディレクトリなどのパッケージと考えることができますファイルシステムとモジュールをディレクトリ内のファイルとして扱いますが、のパッケージとモジュールは、ファイルシステムからのものである必要はないので、この類推はあまりにも文字通りありません。 [...]

ファイルシステム内のファイルとフォルダにそれぞれ対応しないモジュールとパッケージを格納するためのオプションはありますか?

I read zipアーカイブからモジュールとパッケージをロードする可能性について。これは、引用された段落が参照する可能なオプションの1つですか? その他のオプションはありますか?

+0

答えはあなたに解決策を与えた場合、あなたはそれを受け入れることができます。他の同僚がこの質問/回答が役立つかもしれません。 –

答えて

1

これはパッケージとモジュールについて考える方法ですが、はパッケージ/モジュールがファイルシステムのディレクトリ/ファイルであることは必須ではありません。

パッケージ/モジュールをzipファイルに保存し、zipimportでロードすることができます。

あなたは、文字列変数からモジュールをロードすることができます

import imp 

code = """ 
def test(): 
    print "function inside module!" 
    """ 

# give module a name 
name = "mymodule" 
mymodule = imp.new_module(name) 
exec code in mymodule.__dict__ 

>>> mymodule.test() 
function inside module! 
+0

はい、私はzipファイルからパッケージをインポートすることについて読みました。私はカスタムモジュールローダーは、その起源に関係なくモジュールを読み込むことができる作成することができますね。これは正しいですか? – user42768

+0

はい!それらはファイルシステムに存在する必要はありません。 –

関連する問題

 関連する問題