【发布时间】:2018-11-02 21:21:27
【问题描述】:
我跟着SO Answer从python执行一个java程序
import os.path
import subprocess
from subprocess import STDOUT, PIPE
def compile_java(java_file):
subprocess.check_call(['javac', java_file])
def execute_java(java_file, stdin):
java_class, ext = os.path.splitext(java_file)
cmd = ['java', '-cp', 'model/classification', java_class]
process = subprocess.Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=STDOUT, universal_newlines=True)
stdout, stderr = process.communicate(stdin)
compile_java(os.path.join('model', 'classification', 'Model.java'))
execute_java('Model', '5 5 5 5 5 5 5')
我的问题是,在我的java程序的main方法中String[]args是空的。我的5 5 5 5 5 5 5的输入序列没有到达java程序。
从控制台调用 java Model 5 5 5 5 5 5 5 可以正常工作
【问题讨论】:
标签: python subprocess