jar executable from python



我有一个字典的python列表,我解析它以从特定键获取值字符串。我需要将这些字符串发送到一个可执行的jar,该jar可以翻译这些字符串,然后将翻译后的字符串添加回字典中。jar从命令行运行为:

java -jar myJar.jar -a 这个打开

输入一个单词开始:

我可以输入任意多的单词,它会给出翻译。然后按ctrl+Z+ return关闭。

我试着

cmd = ['java', '-jar', 'myJar.jar', '-a']
process = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, stdin=subprocess.PIPE, universal_newlines=True)
stdout,stderr = process.communicate('word')

这只工作一次,然后我必须再次调用subprocess。有没有一种方法来保持jar打开,翻译一组单词和管道输出到python?我必须一次做一个;不能发送列表或数组。

' popen . communication '发送输入,然后等待输出的文件结束。根据其文档,它等待进程终止,然后返回其调用方。因此,你不能迭代地执行多个' communication '调用。

你需要从流程中获取输入和输出流,并自己管理它们,而不是使用' communication '。循环,写入过程输入,从过程输出读取。

最新更新