Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menjalankan Skrip Python daripada C# dan Menangkap Outputnya?

Bagaimanakah Saya Boleh Menjalankan Skrip Python daripada C# dan Menangkap Outputnya?

Susan Sarandon
Susan Sarandonasal
2024-12-09 15:41:12829semak imbas

How Can I Run Python Scripts from C# and Capture Their Output?

Menjalankan Skrip Python daripada C#: Panduan Komprehensif

Dalam bidang kerjasama antara bahasa, persoalan melaksanakan skrip Python daripada C# sering timbul. Walaupun percubaan untuk memberikan jawapan yang ringkas, butirannya kadangkala sukar difahami. Mari kita mendalami secara spesifik dan menjelaskan proses ini.

Cabaran utama terletak pada membina argumen baris arahan untuk pelaksanaan Python. Untuk bermula, anda mesti menyediakan laluan penuh kepada Python boleh laku sebagai FileName dalam ProcessStartInfo. Seterusnya, kumpulkan rentetan Argumen dengan memasukkan kedua-dua laluan skrip dan fail yang akan diproses.

Untuk menangkap output daripada skrip Python, tetapkan UseShellExecute kepada false. Ini juga mendayakan penggunaan RedirectStandardOutput.

Kod Dilaraskan:

private void run_cmd(string cmd, string args)
{
    ProcessStartInfo start = new ProcessStartInfo();
    start.FileName = "my/full/path/to/python.exe";
    start.Arguments = string.Format("{0} {1}", cmd, args);
    start.UseShellExecute = false;
    start.RedirectStandardOutput = true;
    using (Process process = Process.Start(start))
    {
        using (StreamReader reader = process.StandardOutput)
        {
            string result = reader.ReadToEnd();
            Console.Write(result);
        }
    }
}

Dalam kod ini, sifat FileName menghala ke executable Python sebenar. Rentetan Arguments menggabungkan laluan skrip dan fail yang akan dibaca oleh kod Python.

Penjelasan Lanjut:

  • Daripada pengekodan keras laluan boleh laku Python, pertimbangkan untuk menggunakan penterjemah Python yang dipasang secara global.
  • Format rentetan Argumen mungkin berbeza-beza bergantung pada spesifik Skrip Python yang anda jalankan. Rujuk dokumentasi Python untuk mendapatkan butiran.
  • Pendekatan ini menghapuskan keperluan untuk IronPython atau alatan luaran yang lain. Ia membenarkan komunikasi langsung antara C# dan Python, menangkap output dan membolehkan interaksi berterusan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjalankan Skrip Python daripada C# dan Menangkap Outputnya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn