2012-01-19 5 views
5

Pythonの卵を含むバイナリ文字列があり、すべてが圧縮されていると仮定します。その卵をメモリから実行して「インポート」する方法はありますか?ディスクに書き込むことはありませんか?は、メモリからPython eggをインポートする方法ですが、ディスクはインポートしませんか?

+0

[Python、Pythonコードのインポート文字列としての可能な複製](http://stackoverflow.com/questions/3614537/python-import-string-of-python-code-モジュールとして) –

答えて

-1

私はPythonの卵に精通していませんが、StringIOオブジェクトを使用してみてください。 Pythonはduck typingを使用するので、ファイル固有のメソッドを呼び出さないと、ファイルのように扱うことができます。あなたがバイトコンパイルされたモジュールまたは動的に形成されたモジュールで、いくつかの運を持っているかもしれhttp://docs.python.org/library/imp.html

1

impモジュールを見てみましょう。

また、このレシピは、おそらく(ないようですが、私は推測する)ことができます:

http://code.activestate.com/recipes/82234-importing-a-dynamically-generated-module/

述べたように、後者にコメントして、単一のモジュールで動作します。

質問は1いくつかの時間前に頼まに似ています。彼らは(残念ながら)私はC.

で書かれたモジュールであるzipimport.zipimporterを使用してインポートされるようにPython, import string of Python code as module

2

卵は別の名前でファイルを単にzip圧縮されています考えるあなたのオプションは次のとおりです。

    は、オブジェクト の代わりに、ファイル名などの fileを受け入れるように変更されなzipimporterを書き換える
  1. Pythonでなzipimporter再実装し、その後 はfile様オブジェクト
  2. を受け入れるか ディスクに一時ファイルを作成し、それをインポートし、ファイルを削除するように変更します。

これらの最後の方がおそらく最も簡単です。

+0

書き込み先デスクは、残念ながら、オプションではありません。私はそれを再実装することが選択肢かもしれないと思う。 –

関連する問題