您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關Python中怎么調用.net framework,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
1. 安裝python2.5和對應的pywin32
2. 下載ironPython源代碼 是C#的。
我用的是IronPython1.1的版本,從codeplex網站下載IronPython_1_1.rar。解壓縮。
3. 用vistual studio 建立一個.NET類庫工程,工程名字為:IronPython。
把ironPython目錄下的src子目錄中的ironPython目錄的ironMath目錄里的c#源文件(不要assemblyInfo.cs)都考到你的工程目錄里。
在工程里增加剛考來的源文件。
4. 修改AssemblyInfo.cs
[assembly: ComVisible(false)]
將false 改為true
5. 在項目=>屬性=>生成里把 為COM Interop注冊 打上勾
6. 在項目=>屬性=>簽名 里把為程序集簽名 打上勾,選擇強名稱密鑰文件時 選擇新建,輸個文件名,比如 IronPython.snk, 也可以手動生成密鑰文件,然后在這里選擇.
在Python調用.net framework的方法中,手動生成的方法:在.Net Framework的命令行界面里用 sn -k IronPython.snk 這個命令.
7. 編譯項目生成 IronPython.dll
8. 在.Net Framework的命令行界面里用 regasm IronPython.dll 注冊COM組件
9. 在.Net Framework的命令行界面里用 gacutil -i IronPython.dll 把庫加到全局緩存里
10. 建立.net framework 的類庫。代碼如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace test { public class testclass { public string func() { return "hello world"; } } }
11. 建立test.py調用剛才寫的test.dll類庫。代碼:
import win32com import win32com.client eng=win32com.client.Dispatch("IronPython.Hosting.PythonEngine") eng.execute("import clr") eng.execute("import sys") eng.execute("""sys.path.append('c:\\\\test')""") eng.execute("print sys.path") eng.execute("""clr.AddReferenceToFile("abc.dll")""") eng.execute("from test import *") eng.execute("obj = testclass()") eng.execute("print obj.func()")
注意:eng.execute("""sys.path.append('c:\\\\test')""")
這句是將test.dll所在的路徑添加到ironPython的sys.path中去。如果不加,AddReferenceToFile將會出錯。
看完上述內容,你們對Python中怎么調用.net framework有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。