我正在将一些Java代码翻译成Jython,我需要调用java.lang.Runtime。 Java中的代码如下:
Runtime.getRuntime().exec(cmd);
我需要将它转换为Jython,但它将“exec”与Python内置的exec函数混淆。我搜索并找到了使用像
这样的建议from java.lang.Runtime import exec as javaExec
或
import java.lang.Runtime.exec as javaExec
但是第一个仍然混淆了两个版本的exec,第二个版本不允许调用getRuntime()。
有没有办法在Jython中使用Python的函数或Java函数编写这一行而没有命名冲突?
答案 0 :(得分:3)
javaexec = getattr(Runtime.getRuntime(), "exec")
那应该有用。更好的是:
import subprocess
subprocess.Popen(cmd)