我从Java调用一些Python模块。该模块使用numpy,所以我使用Runtime.getRuntime().exec()
来调用Python。在爪哇,我在做这样的事情:
File python = new File("/usr/bin/python2.7");
File script = new File("/opt/my_custom_script.py");
String[] cmdArray = new String[] { python.toString(), script.toString(),
"-i infile.txt", "-o outfile.txt" };
Process p = Runtime.getRuntime().exec(cmdArray);
p.waitFor();
if (p.exitValue() != 0) {
throw new Exception(scriptName + " failed with exit code " + p.exitValue());
}
在Python中,到目前为止:
^{pr2}$每次运行这个程序时,我都会不断地得到我所编的错误号,我的Python脚本不再运行了。直接调用Python(在bash中)没有问题。在
我的脱节在哪里?我该如何进行故障排除/调试?在
您的问题是,您将两个选项传递给脚本,而不是getopt期望的四个选项。也就是说,},同样的事情发生在{}。您可以通过替换以下行来解决此问题:
-i infile.txt
被视为一个选项,而不是getopt期望的两个选项-i
和{用这条线:
^{pr2}$注意,现在}现在是独立的数组元素,}。在
-i
和{-o
和{相关问题 更多 >
编程相关推荐