在Java Process

时间:2018-03-16 11:46:30

标签: java process processbuilder

我在python中有一个脚本,它应该接收两个PDF文件并输出一个图像。它在终端中工作正常,但是当我尝试使用流程构建器在Java进程中运行它时,它会给我一个语法错误,我不确定原因。

我在命令中使用python3(在终端中):

python3 /pathToMyPythonScript/command_line.py /Users/myname/Desktop/one.pdf /Users/myname/Desktop/two.pdf > /Users/myname/Desktop/XXXXXXXXXXXXXXXXXXXXX.png

它可以工作并产生所需的输出。

也尝试过:

/ usr / local / bin / python3 /pathtomypythonscript/command_line.py /Users/myname/Desktop/one.pdf /Users/myname/Desktop/two.pdf> /Users/myname/Desktop/XXXXXXXXXXXXXXXXXXXXX.png

也可以。

当我使用以下代码在我的java代码中调用相同的脚本时:

Process p = new ProcessBuilder("/usr/local/bin/python3", fileOneLocation, fileTwoLocation, outputFileDestination).inheritIO().start();

声明所有变量并且所有文件都存在。

我的eclipse控制台输出错误:

File "/Users/myname/Desktop/one.pdf", line 1
    %PDF-1.3
    ^
SyntaxError: invalid syntax

我在这里缺少什么?它在终端中工作正常,但在Java中不行。

1 个答案:

答案 0 :(得分:1)

作为答案:

您忘了在ProcessBuilder

中提及您的实际python脚本