0
如果我有一個腳本,或者在這種情況下只是一個或兩個使用Jython編寫的函數 - 是否有方法與我的Python3項目中的代碼進行交互?從Python3模塊接口Jython腳本?
如果我有一個腳本,或者在這種情況下只是一個或兩個使用Jython編寫的函數 - 是否有方法與我的Python3項目中的代碼進行交互?從Python3模塊接口Jython腳本?
不,直到Jython趕上CPython才能讓整個Python 3項目在Jython中運行。你不能用一個解釋器運行Python應用程序的一部分,而用另一個解釋器運行其他部分。您可能能夠使用pickle使用遠程過程調用來處理多個進程,但它會變得複雜和脆弱,更不用說慢(必須複製涉及的所有數據)。如果它是純Python,只需將這兩個函數移植到Python 3(likely easy),或將您的項目移植到Python 2.5(可能更難)。如果它使用Jython的JVM互操作,則可以使用CPython,但可能不太成熟。根據您需要的Java版本,可能會有純Python替代品。
在這種情況下,我想使用Sikuli來自動化一部分工作流程。看到它是用Jython編寫的,它的輸出腳本是Jython,我希望我可以從我的主項目中調用它們;它是用Python3編寫的。 – blakev
問題是它是否必須在相同的過程中運行。如果你可以從命令行運行這些腳本,那麼你也可以通過Python 3來完成。 – delnan