Jython命名冲突:java.lang.Runtime.exec和python的exec

时间:2011-08-15 22:19:26

标签: python jython naming

我正在将一些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函数编写这一行而没有命名冲突?

1 个答案:

答案 0 :(得分:3)

javaexec = getattr(Runtime.getRuntime(), "exec")

那应该有用。更好的是:

import subprocess
subprocess.Popen(cmd)