2017-03-03 3 views

Antwort

1

execfile führt das Skript im lokalen Namespace. Sie könnten einfach den Wert sys.argv in einem vorherigen Aufruf von exec zuweisen:

PythonInterpreter interpreter = new PythonInterpreter(); 
interpreter.exec(
    "import sys\n" 
    +"sys.argv = ['Foo', 'Bar']"); 
interpreter.execfile("J:/test.py"); 

Wo ist das Skript:

import sys 

print(sys.argv) 

druckt:

['Foo', 'Bar'] 

ich in die aussah Frage Ihres Kommentars, und es sieht so aus, als müssten Sie python.path setzen in einem Properties Objekt, das Sie dann an PythonInterpreter.initialize übergeben. Sie können dies auch verwenden, um die Argumente zu übergeben:

+0

Dank @Jorn Vernee Wenn mein Python-Skript mehrere Dateien enthält, muss ich sie dann irgendwie importieren? – Michael

+0

@Michael Ich aktualisierte die Antwort. –

+0

Danke @Jorn für die Hilfe! – Michael