在vb.net中运行Python函数

5 投票
1 回答
4389 浏览
提问于 2025-04-18 08:27

我刚开始学习vb.net,想从vb.net中调用python函数,但遇到了一个错误,提示'Invoke'不是'Microsoft.Scripting.Hosting.ObjectOperations'的成员。

Imports Microsoft.Scripting
Imports Microsoft.Scripting.Hosting
Imports IronPython.Hosting
Sub Main
 Dim engine As ScriptEngine
        Dim scope As ScriptScope
        Dim i As Integer


        engine = Python.CreateEngine()
        scope = engine.ExecuteFile("C:\Working.py")
 Dim v = engine.Operations.Invoke(scope.GetVariable(methodName))

这是需要调用的方法的名称,并且需要获取返回值。有没有人能推荐我一个更好的方法来实现这个?我已经看过这个链接:http://msmvps.com/blogs/theproblemsolver/archive/2008/08/14/calling-ironpython-functions-from-net.aspx

提前谢谢大家。

1 个回答

1

下面的代码应该可以正常工作:

  Sub Main(ByVal args() As String) 
    Dim pyRT As ScriptRuntime = Python.CreateRuntime() 
    Dim workingObj As Object = pyRT.UseFile("working.py")   
    workingObj.methodName() 
  End Sub

撰写回答