假設我有一個包含Python雞蛋的二進制字符串,全部壓縮。有沒有辦法從內存中執行並「導入」該egg,而不會將其寫入磁盤?有沒有辦法從內存中導入一個Python蛋,但不是磁盤?
回答
前一段時間我看了一下pypiserver,可能類似於你所需要的東西: http://pypi.python.org/pypi/pypiserver/0.5.0
單機版 https://raw.github.com/schmir/pypiserver/standalone/pypi-server-standalone.py
做一些有趣的魔法與DictImporter和zlib庫,也許你可以做類似的事情..
我不熟悉Python蛋,但嘗試使用StringIO對象。因爲Python使用duck typing,所以如果你不調用任何文件特定的方法,你可以把它看作一個文件。
看看在imp
模塊:http://docs.python.org/library/imp.html
你可能有一些運氣字節編譯模塊或動態形成的模塊。
而且這個配方也許可幫助(而不是是,我猜):
http://code.activestate.com/recipes/82234-importing-a-dynamically-generated-module/
正如後者的評論中提到,工程只用單一的模塊。
的問題是相似的一問前段時間:Python, import string of Python code as module
雞蛋簡單地壓縮下另一個名稱,以便他們使用zipimport.zipimporter
進口這(不幸)是用C寫的
我的文件覺得你的選擇是:
- 改寫修改zipimporter接受
file
狀物體 而不是文件名 在Python
- 重新實現zipimporter然後 修改接受
file
狀物體 - 或寫一個臨時文件 磁盤,導入,然後刪除該文件。
最後這些可能是最簡單的。
寫入不幸的是,桌子不是一種選擇。我認爲重新實現它可能是一個選擇。 –
- 1. StreamWriter:有沒有辦法寫入內存而不直接寫入磁盤?
- 2. 有沒有辦法在Eclipse中從其他磁盤上的Java項目「導入」?
- 3. 有沒有辦法從TrueCrypt磁盤讀取文件到內存中的文件?
- 4. 有沒有辦法強制UcanAccess從磁盤讀取?
- 5. 有沒有辦法在內存中保留一個php對象,以避免磁盤讀取和wirtes?
- 6. 有沒有辦法在一個存儲庫中有一個文件,但沒有在另一個存儲庫中?
- 7. 有沒有辦法讓NetBeans使用Amazon-ec2磁盤空間?
- 8. 有沒有辦法強制一個程序留在內存中
- 9. 有沒有辦法在一個語句中結合導入和導入?
- 10. 有沒有辦法在Softlayer上進行磁盤遷移時保存數據?
- 11. 有沒有辦法禁用磁盤文件的系統(unix)緩存?
- 12. 有沒有辦法從ExcelWorkBook中獲取byte []而不先將其保存到磁盤
- 13. 有沒有辦法從一個ItemsControl
- 14. 有沒有辦法從命名空間「as」中導入一組函數(不帶*)?
- 15. 有沒有辦法從datalab獲取谷歌雲外殼永久磁盤?
- 16. 有沒有辦法從Python使用Python拉內聯圖像?
- 17. artifactory:將存儲庫從磁盤導入到現有的本地存儲庫中
- 18. django:有沒有辦法直接從內存中提供文件
- 19. 有沒有辦法從Python返回一個數據框到R?
- 20. 有沒有辦法直接寫入磁盤而無需在Vim中保存操作?
- 21. NSUserDefaults沒有被寫入磁盤
- 22. 有沒有辦法在儀表板內安排導入Firebase?
- 23. 有沒有辦法在python
- 24. 內存中的HTTP BODY而不是寫入磁盤
- 25. 有沒有辦法在Silverlight中獲得可用的磁盤空間?
- 26. 有沒有辦法在php中查看可用磁盤空間量?
- 27. Python/Matplotlib - 有沒有辦法讓一個不連續的軸?
- 28. 有沒有辦法在內存中加載多個app.configs?
- 29. 有沒有辦法在OllyDbg中打開多個內存轉儲?
- 30. 有沒有辦法將SVN Windows存儲庫導入到Linux?
可能重複的[Python,Python模塊導入字符串的Python代碼](http://stackoverflow.com/questions/3614537/python-import-string-of-python-code- as-module) –