news 2026/4/15 10:26:45

Web开发:C#通过ProcessStartInfo动态调用执行Python脚本

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Web开发:C#通过ProcessStartInfo动态调用执行Python脚本

一、代码思路

1.定义要传递的整数和字符串。
2.创建临时 Python 脚本内容。
3.将脚本写入临时文件。
4.配置并启动 Python 进程。
5.输出结果并删除临时文件。

二、代码

using System; using System.Diagnostics; class Program { static void Main(string[] args) { int numberToPass = 5; // 要传递的整数 string stringToPass = "Hello"; // 要传递的字符串 // 创建一个临时 Python 脚本 string tempFilePath = Guid.NewGuid().ToString() + ".py"; string pythonCode = @" import sys def process_data(num, text): num += 1 print(f'Number: {num}, String: {text}') if __name__ == '__main__': # 从命令行参数获取数据 num = int(sys.argv[1]) text = sys.argv[2] process_data(num, text)"; // 写入临时文件 System.IO.File.WriteAllText(tempFilePath, pythonCode); // 设置进程信息 ProcessStartInfo start = new ProcessStartInfo(); start.FileName = @"D:\Python\python.exe"; // Python 解释器路径 start.Arguments = $"{tempFilePath} {numberToPass} \"{stringToPass}\""; // 传递参数 start.UseShellExecute = false; // 不使用操作系统外壳启动 start.RedirectStandardOutput = true; // 重定向标准输出 start.RedirectStandardError = true; // 重定向标准错误 using (Process process = Process.Start(start)) { // 获取输出 string result = process.StandardOutput.ReadToEnd(); string error = process.StandardError.ReadToEnd(); process.WaitForExit(); // 输出结果 if (!string.IsNullOrEmpty(result)) { Console.WriteLine("Output: " + result); } if (!string.IsNullOrEmpty(error)) { Console.WriteLine("Error: " + error); } } // 删除临时文件 System.IO.File.Delete(tempFilePath); } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 7:49:58

零基础部署CRNN OCR:从镜像启动到API调用的完整指南

零基础部署CRNN OCR:从镜像启动到API调用的完整指南 📖 项目简介 OCR(Optical Character Recognition,光学字符识别)是将图像中的文字内容转化为可编辑文本的关键技术,广泛应用于文档数字化、票据识别、车牌…

作者头像 李华
网站建设 2026/4/9 12:05:28

周末项目:和孩子一起用Llama Factory搭建会讲故事的AI

周末项目:和孩子一起用Llama Factory搭建会讲故事的AI 作为一名程序员爸爸,我一直想带孩子体验AI技术的魅力,但家里的电脑性能有限,无法流畅运行大型语言模型。最近我发现了一个有趣的解决方案:使用Llama Factory搭建一…

作者头像 李华
网站建设 2026/4/15 7:53:20

多模态扩展:用Llama Factory微调视觉-语言联合模型

多模态扩展:用Llama Factory微调视觉-语言联合模型实战指南 在AI领域,多模态模型正成为研究热点,它能同时处理文本和图像数据,实现更智能的跨模态理解。本文将带你使用Llama Factory框架,完成视觉-语言联合模型的微调任…

作者头像 李华
网站建设 2026/4/15 6:05:13

电商平台如何用Redis Manager应对高并发?

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个针对电商场景的Redis管理模块,重点实现秒杀活动的缓存策略。包括库存预热、分布式锁机制、热点数据自动隔离和熔断保护功能。要求能实时显示缓存命中率、请求排…

作者头像 李华
网站建设 2026/4/15 6:03:52

AI助力Windows版Redis开发:从安装到优化全流程

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个Windows环境下Redis的AI辅助开发工具,包含以下功能:1) 自动化安装向导,自动检测系统环境并推荐最佳安装方案;2) 智能配置生…

作者头像 李华
网站建设 2026/4/15 6:03:37

传统开发vsAI辅助:网站代码生成效率对比实验

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 请生成一个博客系统的前后端完整代码:前端使用Vue3Element Plus,后端使用ExpressMongoDB;包含文章发布、分类、标签、评论功能;用户…

作者头像 李华