Wie übergebe ich Argumente an ein Python-Skript mit IronPython

8

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?

    
GenericAlias 21.05.2015, 21:36
quelle

3 Antworten

5

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%     
GenericAlias 21.05.2015, 22:28
quelle
3

"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.

    
Athari 21.05.2015 21:44
quelle
2

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 :

verwenden %Vor%

Referenzen:

Ссылка

Wie kann ich Kommandozeilenargumente in IronPython übergeben?

    
IronManMark20 21.05.2015 21:50
quelle

Tags und Links