C# 如何调用Python文件

我已经写好啦一个Python文件importsubprocessimportreimportsys......我用c#引用IronPython.dllvarengine=... 我已经写好啦一个Python文件

import subprocess
import re
import sys
......

我用c#引用IronPython.dll
var engine = IronPython.Hosting.Python.CreateEngine();
var scope = engine.CreateScope();

//engine.SetSearchPaths(new List<string>() { @"D:\Python27\Lib" });
var source = engine.CreateScriptSourceFromFile(@"my.py");
source.Execute();
执行到这里就报错:
在 Microsoft.Scripting.Runtime.LightExceptions.ThrowException(LightException lightEx)
在 Microsoft.Scripting.Runtime.LightExceptions.CheckAndThrow(Object value)
在 Microsoft.Scripting.Interpreter.FuncCallInstruction`2.Run(InterpretedFrame frame)
在 Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame frame)
在 Microsoft.Scripting.Interpreter.LightLambda.Run1[T0,TRet](T0 arg0)
在 IronPython.Compiler.RuntimeScriptCode.InvokeTarget(Scope scope)
在 IronPython.Compiler.RuntimeScriptCode.Run(Scope scope)
在 IronPython.Runtime.PythonContext.InitializeModule(String fileName, ModuleContext moduleContext, ScriptCode scriptCode, ModuleOptions options)
在 IronPython.Runtime.PythonContext.CompileModule(String fileName, String moduleName, SourceUnit sourceCode, ModuleOptions options, ScriptCode& scriptCode)
在 IronPython.Runtime.PythonContext.CompileModule(String fileName, String moduleName, SourceUnit sourceCode, ModuleOptions options)
在 IronPython.Runtime.Importer.LoadFromSourceUnit(C
展开
 我来答
机电孙权
2015-05-20 · TA获得超过3990个赞
知道小有建树答主
回答量:1231
采纳率:79%
帮助的人:795万
展开全部

1. 安装IronPython

http://ironpython.codeplex.com/下载IronPython。

安装下载下来的安装包(要先装VS啊)。

 

2. 创建项目

创建一个C#的控制台应用程序。

添加引用: 浏览到IronPython的安装目录中,添加对IronPython.dll,Microsoft.Scripting.dll 两个dll的引用。

 

3. 添加Python文件到当前的项目中

创建一个文本文件命名为:hello.py, 编辑如下

def welcome(name):


    return "hello" + name

把该文件添加的当前的项目中。

 

4. 在C#中调用Python方法


首先添加两个引用:它们定义了Python和ScriptRuntime两个类型。

第一句代码创建了一个Python的运行环境,第二句则使用.net4.0的语法创建了一个动态的对象, OK,下面就可以用这个dynamic类型的对象去调用刚才在定义的welcome方法了。

注意:在运行前一定要把hello.py文件设为:Copy always.

否则运行时会报找不到hello.py文件,enjoy it!

百度网友29d79c26e1
2014-07-03 · TA获得超过665个赞
知道小有建树答主
回答量:150
采纳率:0%
帮助的人:96.1万
展开全部
报错通常都是最后几句比较关键,贴到一半这怎么看错误。。。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
学派
2014-07-02 · TA获得超过446个赞
知道小有建树答主
回答量:465
采纳率:100%
帮助的人:258万
展开全部
IronPython没玩过
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式