在C#中使用.PYD文件?
我正在用C#开发一个程序,但我刚刚发现,我要用C#编写的程序非常困难,而用Python则很容易。所以我想做的是制作一个在C#中使用.PYD文件?,c#,python,pyd,C#,Python,Pyd,我正在用C#开发一个程序,但我刚刚发现,我要用C#编写的程序非常困难,而用Python则很容易。所以我想做的是制作一个.PYD文件并在C程序中使用它,但我不知道怎么做。我一直在找,但什么也找不到 所以我的问题是:如何在C#中使用.PYD文件?我知道.PYD文件类似于.DLL文件,.PYD文件在没有安装Python的计算机中仍然可用吗 A.pyd文件是一个DLL,但具有函数init*(),其中*是.pyd文件的名称。例如,spam.pyd有一个名为initspam()的函数。它们不仅相似,而且相同
.PYD
文件并在C程序中使用它,但我不知道怎么做。我一直在找,但什么也找不到
所以我的问题是:如何在C#中使用
.PYD
文件?我知道.PYD
文件类似于.DLL
文件,.PYD
文件在没有安装Python的计算机中仍然可用吗 A.pyd文件是一个DLL,但具有函数init*(),其中*是.pyd文件的名称。例如,spam.pyd有一个名为initspam()
的函数。它们不仅相似,而且相同!它们在没有Python的PC上可用
别忘了:内置设备将不可用。在C中搜索它们,将它们作为外部代码添加到Cython代码中并编译 使用 辅导的 你需要一个吉尔州
using (Py.GIL())
{
// Your code here
}
在GIL块内,创建一个范围
using (Py.GIL())
{
using (PyScope scope = Py.CreateScope())
{
// Your code here
}
}
要执行代码:
scope.Exec(codeStr);
要设置变量,请执行以下操作:
scope.Set(name, value); // 'name' is a string and 'value' is a 'PyObject' object.
要转换为PyObject
:
obj.ToPython()
如果需要将对象放入Python,请转换为PyObject
要计算表达式:
scope.Eval(expr)
要获取变量值,请执行以下操作:
在任何注释之前没有结束分号且只有一行的C代码表示一个表达式
工具书类
0:
1:
2:如此
3:
4:如此
5:
6:闻起来像是X-Y问题。你想做什么在C语言中很难但在Python中却很容易?你可以尝试使用IronPython脚本宿主。你试过pythonnet吗?嘿,这是Python 2的。此外,您还需要通过Pythonnet提供的python.dll API来实现这一点。检查我的答案。
scope.Get(variableName)