如何执行外部程序

kar*_*ana 4 python java ipc

我正在尝试从python程序执行java程序:

subprocess.Popen(["java -mx256m -jar /sphinx4-1.0beta5/bin/HelloWorld.jar"], shell=True)
Run Code Online (Sandbox Code Playgroud)

但它失败了这个错误:

Error: Unable to access jarfile /sphinx4-1.0beta5/bin/HelloWorld.jar
Run Code Online (Sandbox Code Playgroud)

我需要在一个特定的目录中:/home/karen/sphinx4-1.0beta-src,执行命令:"java -mx256m -jar /sphinx4-1.0beta5/bin/HelloWorld.jar" 但我不知道如何做到这一点.我需要我的python程序执行它!

小智 6

使用cwd参数

subprocess.Popen(["java -mx256m -jar ../sphinx4-1.0beta5/bin/HelloWorld.jar"], cwd=r'path', shell=True)
Run Code Online (Sandbox Code Playgroud)

http://docs.python.org/2/library/subprocess.html "如果cwd不是None,则子项的当前目录在执行之前将更改为cwd.请注意,在搜索可执行文件时不考虑此目录,所以你不能指定程序相对于cwd的路径."