2012-12-09 18 views
0

我想在Java中运行python命令。如何使用Java Process运行python pipe命令?

命令的格式如下:

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命令?

回答

2

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

您可能需要exec()壳有如你想它运行Python进程,或者你需要exec()蟒蛇过程中,打开并阅读该文件xyz.txt与Java,然后将数据发送到exec'd process'standard in(您可以从Process对象获得该流)。