从C#调用python代码(.py文件)

我有一些python代码执行某项任务。 我需要从C#调用此代码而不将python文件转换为.exe,因为整个应用程序都是基于C#构建的。

我怎样才能做到这一点?

如果您的python代码可以通过IronPython执行,那么这绝对是可行的方法 – 它提供了最佳的互操作性,这意味着您将能够在脚本中使用.Net对象。

从C#调用IronPython脚本的方法有很多,从将脚本编译为可执行文件到执行单个脚本文件或事件动态执行用户输入的表达式 – 检查文档并发布另一个问题,如果你还是haivng问题。

如果您的脚本是CPython脚本,并且无法与IronPython一起使用,则您的选项会受到更多限制。 我相信有一些CPython / C#interop存在,但我在谷歌快速搜索后找不到它。 我能想到的最好的事情就是直接使用python.exeProcess类调用脚本。

看看IronPython 。

根据您的回答和评论,我相信您可以做的最好的事情是在您的应用程序中嵌入IronPython。 与往常一样,有一个相关的SO 问题 。 正如Kragen所说,重要的是不要依赖CPython模块。

Process.Start就是你所追求的。 它允许你调用另一个程序,传递它的参数。