gpt4 book ai didi

java - Python 2.7 子进程调用方法无法运行 java 命令

转载 作者:行者123 更新时间:2023-12-01 09:38:36 25 4
gpt4 key购买 nike

我正在尝试使用 python 脚本来操作我的 java 程序的输入文件。我这样做的方式是生成文件名并将其传递给 subprocess.call() 方法来执行。这是我的程序:

def execJava(self):
self.thisCmd="pause"
call(self.javaCmd,shell=True)
call(self.pauseCmd,shell=True)

哪里,

self.javaCmd = 'java -ea -esa -Xfuture -Xss64m -classpath "C:\FVSDK_9_1_1\lib\x86_64\msc_12.0-sse2_crtdll\*" -Djava.library.path="C:\FVSDK_9_1_1\lib\x86_64\msc_12.0-sse2_crtdll;C:\FVSDK_9_1_1\lib\x86_64\share" com.cognitec.jfrsdk.examples.MatchFIRAgainstGallery C:\FVSDK_9_1_1\etc\frsdk.cfg 0 .\tmp\frsdk-scratch\probe_1.fir .\tmp\test\*' 

是的,这是一个很长、复杂的java指令,但是当我在命令提示符下运行它时,它工作得很好。仅当我将其作为字符串传递时,它才不会运行并返回:

Exception in thread "main" java.lang.Error

经过一番探索,发现是由于指令中的\x\t,所以正在执行

.\tmp\test\*

作为

mp  est\*

因为它在执行时用制表符空间替换了\t。我查了很多并没有找到任何解决方案。非常感谢任何帮助。

最佳答案

在路径中使用正斜杠“/”而不是反斜杠“\”。

关于java - Python 2.7 子进程调用方法无法运行 java 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38625542/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com