news 2026/6/15 18:19: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/6/15 12:54:10

Llama Factory实战:如何微调一个聊天机器人

Llama Factory实战:如何微调一个聊天机器人 如果你是一名开发者,想为自己的应用添加智能对话功能,但又缺乏相关经验,这篇文章就是为你准备的。我将带你使用Llama Factory这个强大的工具,快速上手微调一个聊天机器人&am…

作者头像 李华
网站建设 2026/6/15 12:53:23

云端炼丹新姿势:Llama Factory+预置镜像的完美组合

云端炼丹新姿势:Llama Factory预置镜像的完美组合 作为一名AI研究员,你是否经常被这样的问题困扰:每次测试不同参数对模型效果的影响时,都要重新配置环境,浪费大量时间?今天我要分享的Llama Factory预置镜…

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

开发效率革命:用AI快速掌握数据库差异

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 请创建一个交互式学习模块,帮助开发者在30分钟内掌握PostgreSQL和MySQL的核心区别。要求包含:1) 关键差异速查表 2) 语法差异对照练习 3) 常见报错解决方案…

作者头像 李华
网站建设 2026/6/12 23:58:28

快速验证:使用Windows Server 2019构建测试环境的5种方法

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个快速环境搭建工具,支持:1)自动下载Windows Server 2019评估版;2)生成Hyper-V/VirtualBox/VMware虚拟机配置;3)创建Docker基…

作者头像 李华
网站建设 2026/6/15 12:53:02

ZETORA:AI如何革新你的编程工作流

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个基于ZETORA的AI辅助开发工具,能够根据自然语言描述自动生成代码片段,支持多种编程语言,包括Python、JavaScript和Java。工具应具备代码…

作者头像 李华
网站建设 2026/6/15 15:58:56

中文OCR识别秘籍:如何用CRNN提升90%准确率

中文OCR识别秘籍:如何用CRNN提升90%准确率 📖 技术背景:OCR文字识别的挑战与突破 光学字符识别(OCR)作为连接图像与文本的关键技术,广泛应用于文档数字化、票据识别、车牌读取、手写体转录等场景。然而&a…

作者头像 李华