Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.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传递到java_Java_Python 3.x_Speech Recognition_Minecraft - Fatal编程技术网

如何将一些数据从python3传递到java

如何将一些数据从python3传递到java,java,python-3.x,speech-recognition,minecraft,Java,Python 3.x,Speech Recognition,Minecraft,这是我的问题:我需要创建一个discord机器人,它使用语音识别来识别语音命令,并将识别出的字符串从该机器人/python程序发送到Java程序(本例中是一个插口Minecraft插件)。我已经扫描了所有的地方,我找不到任何合适的方法来做这件事。我唯一能想到的就是创建一个包含必要数据的文件或文件名,并将其用作机器人和插件之间的“桥梁”,但我认为这不是一个非常正统或合适的方法。(我试过jython,但据我所知,它一直使用python2.7)。我假设我们讨论的是单独的Python和Java进程,因为

这是我的问题:我需要创建一个discord机器人,它使用语音识别来识别语音命令,并将识别出的字符串从该机器人/python程序发送到Java程序(本例中是一个插口Minecraft插件)。我已经扫描了所有的地方,我找不到任何合适的方法来做这件事。我唯一能想到的就是创建一个包含必要数据的文件或文件名,并将其用作机器人和插件之间的“桥梁”,但我认为这不是一个非常正统或合适的方法。(我试过jython,但据我所知,它一直使用python2.7)。

我假设我们讨论的是单独的Python和Java进程,因为您发现jython对您的案例没有用处。我认为这里面有两个问题:(a)如何从Python到Java获取数据,以及(b)使用什么格式

对于(a)你可以使用或(我相信他们)。这两种进程间通信抽象之间的差异。另一种选择是TCP,但除非存在进程驻留在不同机器上的可能场景,否则这不太可能是最好的


(b)的答案取决于数据的性质。JSON可能是一个选项,但您可能还想看看更快的替代方案。我想到的是和。

我假设我们讨论的是单独的Python和Java进程,因为您发现Jython对您的案例没有用处。我认为这里面有两个问题:(a)如何从Python到Java获取数据,以及(b)使用什么格式

对于(a)你可以使用或(我相信他们)。这两种进程间通信抽象之间的差异。另一种选择是TCP,但除非存在进程驻留在不同机器上的可能场景,否则这不太可能是最好的


(b)的答案取决于数据的性质。JSON可能是一个选项,但您可能还想看看更快的替代方案。我想到的是和。

两个进程之间实际上不需要
TCP
连接,只需要一个本地连接。当然,这个答案假设一台UNIX机器不能在Windows上工作。嗨,泰德,是的,这就是为什么我提到了命名管道,它也可以在Windows上工作。我将检查Windows中是否存在域套接字并编辑答案。还将降级TCP,以便读卡器不跳转到此选项。两个进程之间实际上不需要
TCP
连接,只需要一个本地连接。当然,这个答案假设一台UNIX机器不能在Windows上工作。嗨,泰德,是的,这就是为什么我提到了命名管道,它也可以在Windows上工作。我将检查Windows中是否存在域套接字并编辑答案。还将降级TCP,以便读卡器不会跳转到此选项。使用文件作为程序之间的桥梁并不是那么不寻常。我认为使用套接字更为常见,但文件也同样适用,这取决于通信的工作方式。您必须解决的一个问题是不允许一个进程长时间锁定文件。顺便说一下,此问题的所有解决方案都直接依赖于您的操作系统。你应该知道你的问题是在哪种情况下产生的。使用文件作为程序之间的桥梁并不是那么不寻常。我认为使用套接字更为常见,但文件也同样适用,这取决于通信的工作方式。您必须解决的一个问题是不允许一个进程长时间锁定文件。顺便说一下,此问题的所有解决方案都直接依赖于您的操作系统。你应该习惯于你的问题。