python调用c#注意事项_Python调用C#编写的DLL
起因是工作中需要用的開發(fā)編寫的DLL,但是它是使用C#編寫的,本人不想使用C#去寫測試代碼,所以需要使用Python來掉這個DLL內(nèi)的方法
就用這個就很好,不要問為啥不用微軟的Ironpython和別的啥,好用就行了,解決問題就可以了
一、安裝
pip install pythonnet
網(wǎng)快的幾秒鐘就裝好了
二、直接上代碼
C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Python_CSharp
{
public class Class1
{
public int FindMax(int num1, int num2)
{
/* 局部變量聲明 */
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
}
}
Python
# coding=utf-8
# clr是公共運(yùn)行時環(huán)境,這個模塊是與C#交互的核心
import clr
import sys
sys.path.append("E:\xxxxx") #加載DLL路徑,所在的目錄絕對路徑也可以是相對路徑
clr.FindAssembly('Yourname.dll') # 加載的dll文件名
from Yourname import * #導(dǎo)入命名空間,Yourname是你DLL的命名空間
instance = Class1() #實(shí)例化類
response = instance.FindMax(5, 6) #調(diào)用DLL里的方法
print(response)
三、問題
如果遇到了name 'class' is not defined問題,檢查dll和py運(yùn)行目錄的文件下是否有同名的東西比如DllName.exe,DllName.py等可執(zhí)行程序
總結(jié)
以上是生活随笔為你收集整理的python调用c#注意事项_Python调用C#编写的DLL的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android 字符串 转json,从字
- 下一篇: ArcPy常用函数梳理