Я следовал SO Ответ , чтобы выполнить Java-программу из Python
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-программы String[]args
пусто. Моя последовательность ввода 5 5 5 5 5 5 5
не достигает Java-программы.
Вызов java Model 5 5 5 5 5 5 5
из консоли работает, как и ожидалось