Rumah >pembangunan bahagian belakang >C++ >Bagaimana saya boleh menjalankan skrip python dari C# tanpa menggunakan Ironpython?

Bagaimana saya boleh menjalankan skrip python dari C# tanpa menggunakan Ironpython?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-30 09:01:10363semak imbas

How Can I Run Python Scripts from C# Without Using IronPython?

melaksanakan skrip python secara langsung dari C#

Banyak pemaju mencari kaedah yang cekap untuk menjalankan skrip Python dalam aplikasi C# tanpa menggunakan IronPython. Artikel ini menjelaskan bagaimana untuk mencapai ini dengan berkesan.

Pendekatan biasa melibatkan penggunaan kelas

dalam C#. Walau bagaimanapun, percubaan terdahulu sering gagal kerana konfigurasi yang salah dari objek Process. ProcessStartInfo

Isu utama terletak pada harta

. Menetapkan UseShellExecute memerlukan spesifikasi eksplisit jalur penuh penterjemah Python dalam harta UseShellExecute = false dan pembinaan yang berhati -hati dari rentetan FileName untuk memasukkan kedua -dua skrip Python dan sebarang argumen yang diperlukan. Tambahan pula, untuk menangkap output skrip, Arguments mesti ditetapkan ke RedirectStandardOutput. true

inilah coretan kod C# yang diperbetulkan yang menunjukkan pendekatan ini:

<code class="language-csharp">private void runPythonScript(string scriptPath, string arguments)
{
    ProcessStartInfo startInfo = new ProcessStartInfo();
    startInfo.FileName = @"C:\Path\To\Your\Python\python.exe"; // Replace with your Python executable path
    startInfo.Arguments = $"\"{scriptPath}\" {arguments}";
    startInfo.UseShellExecute = false;
    startInfo.RedirectStandardOutput = true;
    startInfo.CreateNoWindow = true; //Optional: Prevents a console window from appearing

    using (Process process = Process.Start(startInfo))
    {
        using (StreamReader reader = process.StandardOutput)
        {
            string result = reader.ReadToEnd();
            Console.WriteLine(result);
        }
    }
}</code>
Kaedah yang lebih baik ini boleh dilaksanakan skrip Python dari C#, menangkap output mereka dan membolehkan panggilan berulang, menjadikannya sesuai untuk interaksi C#-python yang rumit. Ingatlah untuk menggantikan

dengan jalan sebenar ke Python anda boleh dilaksanakan. Penambahan "C:PathToYourPythonpython.exe" adalah pilihan tetapi disyorkan untuk mengelakkan tetingkap konsol python berasingan dari pembukaan. CreateNoWindow = true

Atas ialah kandungan terperinci Bagaimana saya boleh menjalankan skrip python dari C# tanpa menggunakan Ironpython?. 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