如何执行外部程序

2024-09-27 00:15:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从python程序执行java程序:

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

但由于以下错误而失败:

^{pr2}$

我需要在特定的目录中:/home/karen/sphinx4-1.0beta-src,才能执行命令:"java -mx256m -jar /sphinx4-1.0beta5/bin/HelloWorld.jar" 但我不知道怎么做。我需要我的python程序执行它!在


Tags: 程序truebin错误javashelljarhelloworld
2条回答

使用cwd参数

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

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

您的问题可能与jar文件的路径有关。您的代码很可能在popen调用中调用/home/Karen/sphynx4-1beta-src。这不是一个可以在不同系统上工作的解决方案,除非文件位于相同的绝对路径中。在

相关问题 更多 >

    热门问题