Rumah >pembangunan bahagian belakang >C++ >Bagaimana cara melaksanakan skrip python dari C# menggunakan kaedah asli?

Bagaimana cara melaksanakan skrip python dari C# menggunakan kaedah asli?

DDD
DDDasal
2025-01-30 08:46:10846semak imbas

How to Execute Python Scripts from C# Using Native Methods?

lancar melaksanakan skrip python

Artikel ini membincangkan masalah teras melakukan skrip Python dari C#. Kod yang disediakan direka untuk menjalankan skrip Python yang mudah, yang membaca kandungan fail yang ditentukan. Walau bagaimanapun, kaedah awal menghadapi cabaran, yang membawa kepada cara menggunakan kaedah asli untuk mencapai matlamat ini.

Analisis Masalah

Masalah utama yang dihadapi dalam pelaksanaan awal berasal dari penggunaan UserShellexecute kepada FALSE. Ini melumpuhkan penggunaan shell sistem, yang perlu secara jelas menetapkan laluan lengkap fail boleh dilaksanakan Python dan memformat parameter arahan dengan betul.

kaedah penambahbaikan

Untuk membetulkan masalah ini, kod yang diubahsuai memberikan peningkatan penambahbaikan:

Pertimbangan Utama

<code class="language-csharp">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);
         }
     }
}</code>

Useshellexecute mesti ditetapkan kepada Palsu untuk mengembangkan fail dan parameter yang boleh dilaksanakan. Parameter arahan mesti diformat dengan betul, dan skrip dan fail input yang akan dijalankan ditentukan.

    Dengan menangkap output standard, hasil skrip Python boleh diintegrasikan ke dalam kod C#.

Atas ialah kandungan terperinci Bagaimana cara melaksanakan skrip python dari C# menggunakan kaedah asli?. 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