繁体   English   中英

Python 3-使用子进程模块执行Java命令行提示符

[英]Python 3 - Using subprocess module to execute java command line prompt

我的计算机上有一个具有命令行api的Java程序。 如果在命令提示符下导航到适当的文件夹,我可以输入命令

java -cp p2.jar propokertools.cli.RunPQL

在命令提示符下进行各种扑克计算。 我希望能够通过Python与该程序进行交互。

我试过了:

p = subprocess.check_output(['java', '-cp', 'p2.jar propokertools.cli.RunPQL'], cwd='C:\\Program Files\\PPTOddsOracle\\ui_jar')

但是得到这个错误:

文件“ C:\\ Python34 \\ lib \\ subprocess.py”,行620,在check_output中引发CalledProcessError(retcode,process.args,output = output)子进程。CalledProcessError:命令'['java','-cp p2.jar propokertools .cli.RunPQL']'返回非零退出状态1

我决定不那么雄心勃勃,只想弄清楚如何让Python返回我的Java版本,但是

p = subprocess.check_output(['java', '-version'])

p = subprocess.Popen(["java", "-version"], stdout=subprocess.PIPE)
p.stdout.read()

都返回空字节字符串,所以我认为我做错了什么。 任何帮助将不胜感激。

我想到了。 我不知道需要将“ p2.jar propokertools.cli.RunPQL”拆分成单独的参数。

p = subprocess.check_output(['java', '-cp', 'p2.jar', 'propokertools.cli.RunPQL'], cwd='C:\\Program Files\\PPTOddsOracle\\ui_jar')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM