Python 3 - 使用 subprocess 模块执行 java 命令行提示符
Python 3 - Using subprocess module to execute java command line prompt
我的计算机上有一个 java 程序,它有一个命令行 api。如果在命令提示符下导航到相应的文件夹,我可以输入命令
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,输出=输出)
subprocess.CalledProcessError: 命令 '['java', '-cp p2.jar propokertools.cli.RunPQL']' returned 非零退出状态 1
我决定不那么雄心勃勃,只是想办法把 Python 变成 return 我的 java 版本,但是
p = subprocess.check_output(['java', '-version'])
和
p = subprocess.Popen(["java", "-version"], stdout=subprocess.PIPE)
p.stdout.read()
两个 returned 空字节字符串,所以我认为我做错了什么。任何帮助将不胜感激。
我明白了。我错过了 'p2.jar propokertools.cli.RunPQL' 需要分成单独的参数。
p = subprocess.check_output(['java', '-cp', 'p2.jar', 'propokertools.cli.RunPQL'], cwd='C:\Program Files\PPTOddsOracle\ui_jar')
我的计算机上有一个 java 程序,它有一个命令行 api。如果在命令提示符下导航到相应的文件夹,我可以输入命令
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,输出=输出) subprocess.CalledProcessError: 命令 '['java', '-cp p2.jar propokertools.cli.RunPQL']' returned 非零退出状态 1
我决定不那么雄心勃勃,只是想办法把 Python 变成 return 我的 java 版本,但是
p = subprocess.check_output(['java', '-version'])
和
p = subprocess.Popen(["java", "-version"], stdout=subprocess.PIPE)
p.stdout.read()
两个 returned 空字节字符串,所以我认为我做错了什么。任何帮助将不胜感激。
我明白了。我错过了 'p2.jar propokertools.cli.RunPQL' 需要分成单独的参数。
p = subprocess.check_output(['java', '-cp', 'p2.jar', 'propokertools.cli.RunPQL'], cwd='C:\Program Files\PPTOddsOracle\ui_jar')