2009-08-04 6 views
3

Ich habe ein externes C# -Programm, das ein Python-Skript mit der Klasse Process ausführt.Abrufen des Rückgabewerts eines Python-Skripts

Mein Skript gibt einen numerischen Code zurück, und ich möchte es aus meinem C# -Programm abrufen. Ist das möglich?

Das Problem ist, ich bekomme den Rückgabecode python.exe anstelle des Codes von meinem Skript zurückgegeben. (Z. B. 3)

Antwort

8

Der Dolmetscher nicht wieder den Wert an der Spitze des Python-Stack, wenn Sie dies tun:

if __name__ == "__main__": 
    sys.exit(main()) 

oder wenn Sie einen Anruf zu sys.exit an anderer Stelle machen.

Here's a lot more documentation on this issue.

+0

+1 für viel besser als meins. – JAB

+0

2.7.9 Dokumentation für ['sys.exit()'] (https://docs.python.org/2.7/library/sys.html?highlight=sys.exit#sys.exit). – DavidRR

Verwandte Themen