Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich Python-Skripte aus C# ohne IronPython ausführen?

Wie kann ich Python-Skripte aus C# ohne IronPython ausführen?

Mary-Kate Olsen
Freigeben: 2024-12-15 16:39:11
Original
350 Leute haben es durchsucht

How Can I Execute Python Scripts from C# Without IronPython?

Aufrufen von Python-Skripten aus C#

Es ist möglich, Python-Skripte aus C# ohne die Verwendung externer Bibliotheken wie IronPython auszuführen. So können Sie dies angehen:

Betrachten Sie das folgende Python-Skript (code.py):

if __name__ == '__main__':
    with open(sys.argv[1], 'r') as f:
        s = f.read()
    print(s)
Nach dem Login kopieren

Um dieses Skript in C# auszuführen, passen Sie Ihre run_cmd-Methode wie folgt an:

private void run_cmd(string cmd, string args)
{
    ProcessStartInfo start = new ProcessStartInfo();

    // Specify the complete path to python.exe
    start.FileName = "my/full/path/to/python.exe";

    // Build the argument string with the script and file paths
    start.Arguments = string.Format("{0} {1}", cmd, args);

    // Disable using the shell to gain more control
    start.UseShellExecute = false;

    // Enable standard output redirection to capture the script's output
    start.RedirectStandardOutput = true;

    using (Process process = Process.Start(start))
    {
        using (StreamReader reader = process.StandardOutput)
        {
            string result = reader.ReadToEnd();
            Console.Write(result);
        }
    }
}
Nach dem Login kopieren

Indem Sie UseShellExecute auf „false“ setzen, erhalten Sie die Kontrolle über den Befehl und die Argumente, die an Python übergeben werden. Sie müssen den vollständigen Pfad zu python.exe als Dateinamen angeben und die Argumentzeichenfolge so erstellen, dass sie sowohl den Skriptpfad (cmd) als auch den zu lesenden Dateipfad (args) enthält.

Beachten Sie, dass das Python-Skript kontinuierlich aufgerufen wird C# kann die Leistung beeinträchtigen, da jedes Mal ein neuer Prozess erstellt werden muss. Wenn Ihr Skript viel Laufzeit benötigt, sollten Sie erwägen, Ihren Ansatz zu optimieren oder einen geeigneteren Mechanismus für die prozessübergreifende Kommunikation zu verwenden.

Das obige ist der detaillierte Inhalt vonWie kann ich Python-Skripte aus C# ohne IronPython ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage