gpt4 book ai didi

C# 到 Python(不是 IronPython)发送和接收数组、Into、String、Decimals

转载 作者:行者123 更新时间:2023-12-05 07:46:21 28 4
gpt4 key购买 nike

我一直在研究一种简单的方法来启动 Python(不是 IronPython)脚本并传递数组、字符串、整数、小数等参数,然后从 Python 脚本中检索数组等输出。

所有研究都指向不可靠的非常复杂的方法或有限的 IronPython。

如果 VBA 可以通过 xlwings 做到这一点(真的很好),为什么不能在 Visual Studio 中使用 C#?

任何建议、链接或示例都会非常有帮助。谢谢

最佳答案

正如@denfromufa 提到的,Pythonnet 是必经之路。以下是如何启动模块并将对象从 C# 传递给它。注意:

  • numpy 在此作为示例,但您可以将其替换为任何其他模块,甚至是自定义模块。
  • array 对象作为示例显示,但它与 stringdoubleint 完全相同> 等
  • 在此示例中,我使用 PyScope 直接在 Python 引擎中执行所有操作,因为您的问题是从 C# 到 Python。如果您需要 C# 端的对象,您可以改用 dynamic 类型并使用 Py.Import() 导入模块。
using Python.Runtime;
double[] a = [2.1, 3.5, 5.4];

using (Py.GIL())
{
using (PyScope scope = Py.CreateScope())
{
scope.Exec("import numpy as np");

scope.Set("a", a.ToPython())

scope.Exec("b = np.array(a)");
}
}

关于C# 到 Python(不是 IronPython)发送和接收数组、Into、String、Decimals,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40841833/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com