Ich habe den folgenden C # -Code, wo ich ein Python-Skript von C # aufrufen:
%Vor%Ich habe Probleme, jede Zeile des Codes zu verstehen, da meine Erfahrung mit C # begrenzt ist. Wie würde ich diesen Code ändern, um ein Befehlszeilenargument an mein Python-Skript zu übergeben, wenn ich es ausführe?
Danke, dass Sie mich in die richtige Richtung weisen. Aus irgendeinem Grund scheint engine.sys nicht mehr für neuere Versionen von IronPython zu funktionieren, stattdessen muss stattdessen GetSysModule verwendet werden. Hier ist die überarbeitete Version meines Codes, mit der ich argv:
ändern kann %Vor% "Befehlszeilenargumente" gibt es nur für Prozesse. Wenn Sie Code auf diese Weise ausführen, werden Sie beim Python-Skript höchstwahrscheinlich sehen, dass Argumente an Ihren Prozess übergeben werden (ohne Python-Code ist das schwer zu sagen). Wie in den Kommentaren vorgeschlagen, können Sie übergeben Sie auch Befehlszeilenargumente .
Wenn Sie Argumente übergeben möchten, nicht unbedingt Befehlszeilenargumente, dann gibt es mehrere Ansätze.
Am einfachsten wäre es, dem von Ihnen definierten Bereich Variablen hinzuzufügen und diese Variablen im Skript zu lesen. Zum Beispiel:
%Vor% Im Python-Code haben Sie variableName
variable.
Obwohl ich denke, dass die Verwendung von @ Discord beim Setzen einer Variablen funktionieren würde, würde es einige Änderungen von sys.argv
s zu variableName
erfordern.
Um die Frage zu beantworten, sollten Sie daher engine.Sys.argv
:
Referenzen:
Wie kann ich Kommandozeilenargumente in IronPython übergeben?
Tags und Links python c# ironpython