Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c#调用python脚本

作者:冷空气来袭   发布日期:2025-07-10   浏览:43

using System;
using System.Diagnostics;

class Program
{
    static void Main(string[] args)
    {
        // 创建一个 ProcessStartInfo 对象,用于设置启动 Python 脚本的参数
        ProcessStartInfo start = new ProcessStartInfo();
        start.FileName = "python"; // 指定 Python 解释器路径,默认为环境变量中配置的 Python
        start.Arguments = @"script.py"; // 指定要执行的 Python 脚本文件路径
        start.UseShellExecute = false; // 不使用操作系统 shell 启动
        start.RedirectStandardOutput = true; // 重定向标准输出
        start.RedirectStandardError = true; // 重定向标准错误

        using (Process process = Process.Start(start))
        {
            using (System.IO.StreamReader reader = process.StandardOutput)
            {
                string result = reader.ReadToEnd(); // 读取 Python 脚本的输出结果
                Console.WriteLine(result); // 打印输出结果到控制台
            }

            using (System.IO.StreamReader errorReader = process.StandardError)
            {
                string errors = errorReader.ReadToEnd(); // 读取 Python 脚本的错误信息
                if (!string.IsNullOrEmpty(errors))
                {
                    Console.WriteLine("Errors: " + errors); // 如果有错误信息,打印出来
                }
            }
        }
    }
}

解释说明:

  1. ProcessStartInfo 类:用于设置启动进程的相关参数。这里我们指定了 Python 解释器的路径和要执行的 Python 脚本文件路径。
  2. UseShellExecute 和 RedirectStandardOutput/RedirectStandardErrorUseShellExecute 设置为 false 表示不使用操作系统的 shell 启动进程,这样可以重定向标准输出和标准错误流,方便获取 Python 脚本的输出和错误信息。
  3. Process 类:用于启动和管理外部进程。通过 Process.Start(start) 启动 Python 脚本,并通过 StandardOutputStandardError 流读取脚本的输出和错误信息。
  4. 读取输出和错误信息:通过 StreamReader 类读取 Python 脚本的标准输出和标准错误流,并将其打印到控制台。

这个示例代码展示了如何在 C# 程序中调用 Python 脚本并处理其输出和错误信息。

上一篇:c#连接mysql

下一篇:c# htmlagilitypack

大家都在看

c# 二进制

c# tcp client

c# type.gettype

c# sqlconnection

c# string.format 小数位数

.net和c#

c#游戏开发

c#网络编程

c# rectangle

c# 取字符串最后一个字符

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站