0

我想在 Java 中运行 python 命令。

命令的格式如下:

python abc.py TAG < xyz.txt

当我使用 Java 的进程时:

Process p=Runtime.getRuntime().exec("python abc.py TAG < xyz.txt");

我得到一个不正确的参数错误,因为< xyz.txt它被解释为参数而abc.py不是管道的终端含义xyz.txt

有什么方法可以运行具有管道功能的 java 命令?

4

1 回答 1

2

exec()不涉及外壳。你不能做那样的事情。

你要么需要exec()一个 shell 并让它在你尝试时运行 python 进程,要么你需要exec()python 进程,用 Java 打开并读取xyz.txt文件,然后将数据发送到 exec'd 进程'标准(你可以从Process对象中获取该流)。

于 2012-12-09T04:04:13.180 回答