翼度科技»论坛 编程开发 .net 查看内容

C#如何用最简单方法调用Python?

4

主题

4

帖子

12

积分

新手上路

Rank: 1

积分
12
最近有群友咨询C#如何调用Python?小编尝试Python.NET过程中遭遇的版本兼容性和环境配置难题,小编决定寻找一个更为简单、稳定且对初学者友好的解决方案。小编搜索一番,除了Python.NET之外,还有其他途径能够帮助我们轻松地在C#项目调用Python脚本,那就是通过命令行调用,使用 System.Diagnostics.Process 类可以启动 Python 进程,并通过命令行参数传递脚本路径等信息。调用流程如下:
1、环境准备

在操作系统中安装好python,最好3.0以上版本;然后新建一个.NET8控制台程序,不需要引用任何组件;最后新建一个python文件用来测试,用txt新建并另存为py文件就可以。代码如下:
  1. #定义一个数字列表
  2. numbers = [10, 20, 30, 40, 50]
  3. #调用内置函数进行聚合
  4. sum_of_numbers = sum(numbers)  # 求和
  5. print('上面数组求和为:',sum_of_numbers)
  6. print('欢迎关注公众号:Dotnet开发跳槽!');
复制代码
2、通过命令行调用Python

此方法的核心思想是,C#程序通过System.Diagnostics命名空间下的Process类来启动Python解释器,并向其传递Python脚本的路径及必要的参数。代码如下:
  1. using System.Diagnostics;
  2. using (Process process = new Process())
  3. {
  4.     process.StartInfo.FileName = "python";
  5.     process.StartInfo.Arguments = "E:\\lea\\python\\demo.py";
  6.     process.StartInfo.UseShellExecute = false;
  7.     process.StartInfo.RedirectStandardOutput = true;
  8.     process.Start();
  9.     string result = process.StandardOutput.ReadToEnd();
  10.     process.WaitForExit();
  11.     Console.WriteLine(result);
  12. }
复制代码
效果如下:

优势与局限

优势:该方法简单直观,对环境的依赖较少,不需要安装额外的库或组件,特别适用于环境配置复杂或版本兼容性问题突出的情况。
局限:相比直接的库集成(如Python.NET),这种方法牺牲了一定的性能,特别是在频繁的交互场景下,每次调用都需要启动新的Python进程。此外,数据交换主要通过文本输出,处理大量或复杂数据结构时不够高效。大家使用Python.NET成功没有?欢迎分享经验。
结语

本文讲述了C#如何用最简单调用Python的方法,通过命令行调用Python。它能够快速搭建起C#与Python之间的通信桥梁,尤其适合快速验证概念或进行初步集成测试。在大模型时代,Python学习的必要性增大,尤其是.NET开发,C#中调用Python大大降低了学习成本。对于在C#中调用Python大家还有什么好的方法,欢迎留言讨论。
  1. 来源公众号:DotNet开发跳槽    
复制代码
来源:https://www.cnblogs.com/xbhp/p/18203681
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具