Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想在 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。
< xyz.txt
abc.py
xyz.txt
有什么方法可以运行具有管道功能的 java 命令?
exec()不涉及外壳。你不能做那样的事情。
exec()
你要么需要exec()一个 shell 并让它在你尝试时运行 python 进程,要么你需要exec()python 进程,用 Java 打开并读取xyz.txt文件,然后将数据发送到 exec'd 进程'标准(你可以从Process对象中获取该流)。
Process