我在Java中使用Jython;所以我有一個Java設置類似如下:Jython 2.5.1:從Java調用到__main__ - 如何傳遞命令行參數?
String scriptname="com/blah/myscript.py"
PythonInterpreter interpreter = new PythonInterpreter(null, new PySystemState());
InputStream is = this.getClass().getClassLoader().getResourceAsStream(scriptname);
interpreter.execfile(is);
,這將(例如)運行下面的腳本:
# myscript.py:
import sys
if __name__=="__main__":
print "hello"
print sys.argv
如何通過使用這種方法「命令行」的論點? (我希望能夠編寫我的Jython腳本,以便我也可以在命令行上使用'python腳本arg1 arg2'來運行它們)。
好的一個 - 我只需要檢查了這一點與我的Jython的版本(2.5.1實際..不是2.5道歉);我會盡快將其標記爲已接受。乾杯 – monojohnny
另外:'runScript'是我的方法 - 我已經在我的代碼中包裝類 - 我已更正原始帖子使用'execfile' – monojohnny
是的,作品一種享受;注意到似乎有一個記錄方法來檢索systemState,但似乎沒有在我的發行版上:http://www.jython.org/javadoc/org/python/util/PythonInterpreter.html#getSystemState%28 %29 - 感謝接受答案。 – monojohnny