C#调用Python模块的方法

陆景行
陆景行
发布时间:2026-10-13| 4人浏览过
原创

本文介绍如何利用IronPython库在C#中调用Python模块。通过安装IronPython、添加DLL引用,编写C#与Python代码,并配置文件属性,实现C#调用Python函数。文章提供完整代码示例及注意事项,帮助开发者实现跨语言协作。

当前,C#与Python均为热门的计算机编程语言,二者各有优劣。若能使它们协同工作,将极大提升开发效率。本文将详细讲解如何通过C#调用Python模块。

要实现C#对Python模块的调用,首先需安装相关扩展库。推荐使用IronPython库,该库提供了C#与Python交互的基础支持。

第一步,下载IronPython库的安装包。请访问官网http://ironpython.codeplex.com/,下载并安装相应的库文件。

第二步,新建一个C#控制台测试项目,并将IronPython安装目录下的指定DLL文件添加到项目引用中。

第三步,分别编写C#代码,并将Python代码文件添加到项目中。具体代码如下所示。

C#代码部分

using System;
using IronPython.Hosting; //导入IronPython库文件
using Microsoft.Scripting.Hosting; //导入微软脚本解释库文件


namespace ConsoleApplication1
{
 class Program
 {
 static void Main(string[] args)
 {
  ScriptRuntime pyRuntime = Python.CreateRuntime(); //创建一下运行环境
  dynamic obj=pyRuntime.UseFile("debug.py"); //调用一个Python文件
  int num1, num2;
  Console.Write("Num1:");
  num1 = Convert.ToInt32(Console.ReadLine());
  Console.Write("Num2:");
  num2 = Convert.ToInt32(Console.ReadLine());
  int sum = obj.add(num1, num2); //调用Python文件中的求和函数
  Console.Write("Sum:");
  Console.WriteLine(sum);
 }
 }
}

Python代码部分

def add(num1,num2):
return num1+num2;

编译时需修改工程中Python文件的属性,如图所示,否则可能报出文件无法定位的错误。运行结果如右图所示。

通过上述实验过程,您可以轻松实现C#对Python文件的调用。但您可能也会产生类似的疑问:如何将C#的可执行程序与Python文件打包?若仅进行简单压缩,可能会缺失运行所需的库文件。若您对此有疑问,请关注博客的下一篇文章:利用Visual Studio寻找程序必要的运行库文件。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。