2010-09-17 49 views
1

我想在2010年使用IronPython。IronPython - 如何導入Gzip?

我需要Gzip,但沒有(我可以找到)文檔告訴我如何「引用」或添加一個模塊。

誰能告訴如何添加Gzip已請。

+0

如果是** **的IronPython,它可以使用.NET,對不對?和System.IO.Compression.GZipStream,對不對?對? – Cheeso 2011-05-09 17:10:12

回答

1
import clr 
from System.IO.Compression import GZipStream 

#or if your implementation is in some external assembly 
clr.AddReference("<assembly-with gzip implementation>") 
# from Gzip import Impl blah-blah-blah 
+0

我嘗試的第一個兩行 - 但我仍然得到錯誤說的gzip模塊沒有找到 – ManInMoon 2010-09-17 10:54:42

+0

德斯科,你可以給我多一點用手拿着這個,請 – ManInMoon 2010-09-17 11:16:53

+0

你使用一些特定的Gzip已落實或只是想知道是否有gzip的可用並使用它? – desco 2010-09-17 12:41:09

2

首先,IronPython不包含gzip模塊,因爲它不支持開箱即用。您可以從Python源代碼樹或http://bitbucket.org/jdhardy/ironpythonzlib/src/tip/tests/gzip.py中獲取副本。將此文件放在IronPython安裝的Lib文件夾中。

接下來,你需要的zlib for IronPython的實施;你可能需要.NET 4.0的'clr4'版本。將IronPython.Zlib.dll放入IronPython安裝的DLL文件夾中;如果DLL文件夾不存在,只需創建它。

如果你不能修改IronPython的安裝(並且VS 2010,我認爲你不能),把gzip.py和IronPython.Zlib.dll放到與其他文件相同的文件夾中,並且添加以下行附近gzip.py的頂部,其他導入語句後:

if sys.platform == 'cli': 
    import clr 
    clr.AddReference('IronPython.Zlib') 

無論哪種方式,您現在應該能夠從IronPython的做import gzip

+0

謝謝你的完整 - 一步一步回答。這對像我這樣的新手來說真的很有用 – ManInMoon 2010-09-22 09:02:42

+0

@ManInMoon不客氣。如果你是新手,那麼你應該注意並選擇一個答案。 – 2010-09-22 15:50:26