Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python3模块中的接口Jython脚本?_Python_Python 3.x_Jython - Fatal编程技术网

Python3模块中的接口Jython脚本?

Python3模块中的接口Jython脚本?,python,python-3.x,jython,Python,Python 3.x,Jython,如果我有一个脚本,或者在本例中只有一两个函数,是用Jython编写的——有没有办法与我的Python3项目中的代码交互?没有,除非Jython赶上了CPython,足以让整个Python3项目在Jython中运行。不能使用一个解释器运行Python应用程序的一部分,而使用另一个解释器运行其他部分。您可能能够使用pickle通过远程过程调用处理多个进程,但这将是复杂而脆弱的,更不用说速度慢(必须复制所有涉及的数据)。如果是纯Python,只需将这两个函数移植到Python3(),或者将项目移植到P

如果我有一个脚本,或者在本例中只有一两个函数,是用Jython编写的——有没有办法与我的Python3项目中的代码交互?

没有,除非Jython赶上了CPython,足以让整个Python3项目在Jython中运行。不能使用一个解释器运行Python应用程序的一部分,而使用另一个解释器运行其他部分。您可能能够使用pickle通过远程过程调用处理多个进程,但这将是复杂而脆弱的,更不用说速度慢(必须复制所有涉及的数据)。如果是纯Python,只需将这两个函数移植到Python3(),或者将项目移植到Python2.5(可能更难)。如果它使用Jython的JVM互操作,那么可以使用CPython,尽管可能不太成熟。根据您对Java的需求,可能会有纯Python的替代方案。

在本例中,我想使用Sikuli自动化部分工作流。因为它是用Jython编写的,而且它的输出脚本是用Jython编写的,所以我希望可以从我的主项目中调用它们;这是用Python3编写的。问题是它是否必须在同一进程中运行。如果可以从命令行运行脚本,那么也可以从Python3运行脚本。