gpt4 book ai didi

java - 如何整合Java和Python?

转载 作者:行者123 更新时间:2023-12-01 09:15:11 25 4
gpt4 key购买 nike

出于某些加密原因,我正在尝试将 java 和 python 结合起来,其中加密代码实际上是来自提供商的 java 文件,但我正在编写 python 代码。所以我想要的是使用

在java上执行加密代码
x = os.system("java file.java")

并且像函数一样从 java 执行中返回值

print x

像这样:

java_hello_world.py

import os

x = os.system("java HelloWorld")
print x # This should print HELLO WORLD

HelloWorld.java

public class HelloWorld {
public static void main(String[] args) {
String x;
x = "Hello World";
System.out.println(x);
return "HELLO WORLD";
}

}

上面的 java 文件顺便返回一个错误:

HelloWorld.java:7: error: incompatible types: unexpected return value
return x;

PS

我不是 Java 开发人员,我的经验为零

只要我在 python 中得到我想要的结果,任何建议的方法都会很棒

最佳答案

当您调用另一个流程时,不会返回值。

您唯一希望的是数字返回代码值。

您真正要寻找的是:

  • 在该进程中运行的程序写入stdout ...或某个文件
  • 触发该进程的 Python 代码可以读取该内容

参见here有关说明,您的 Python 脚本如何读取子进程正在写入其标准输出的内容。

郑重声明:没有弯路。如果您打算用 Java 代码做一些“严肃”的事情,那么您必须学习足够的 Java 来实现这一目标。不理解一个说 void 不能有 return some 语句的方法就是一个很好的例子。

Python 方面也是如此。是的,os.system()是调用某些进程的简单、直接的方法。但是,如果您对这个主题进行一点点研究,您可能会发现 python 中有 subprocess 模块......及其 documentation

关于java - 如何整合Java和Python?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40605559/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com