python與c#的交互模塊pythonnet


 今天總結一下python與c#的交互模塊pythonnet,其實微軟也是有相應的解釋器的,就是Ironpython,可是畢竟Ironpython還有很多東西沒有從python那邊繼承過來,所以有時候用起來並不是那么爽。但是好在強大的社區總會給我們驚喜,pythonnet就是其中一個讓我驚喜的模塊,它可以平滑的和C#進行交互。但是網上這方面的資料還是太少了,不過最終還是折騰出來了。下面就上代碼吧。

復制代碼
# coding=utf-8

# clr是公共運行時環境,這個模塊是與C#交互的核心
import clr
import sys
# 導入clr時這個模塊最好也一起導入,這樣就可以用AddReference方法
import System

sys.path.append(r'd:\dll')  # 加載c#dll文件路徑

clr.FindAssembly('ClassLibrary5.dll')  # 加載c#dll文件

from  ClassLibrary5.aaaaa import *  # 導入命名空間

a = clr.AddReference('ClassLibrary5')  # 實例化C#類庫,這樣可以調用,比如這個類庫的來源Location

c1 = bbbbb()

print a.Location

c1.a()

print dir(System)
復制代碼

代碼注釋的比較清楚了,有幾點需要注意的地方,加載c#dll文件時,必須用

clr.FindAssembly方法而不是clr.ADDReference方法,而且導入clr模塊時,最好也把System模塊導入,原因注釋里已經說了,最后注意一點就是一定要把C#的命名空間當做模塊導入進來。以上就是pythonnet的大概用法。其他的用法還需要在以后的使用過程中好好研究一下!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM