私のPythonプログラムは「check.py」です
import os.path,subprocess
from subprocess import STDOUT,PIPE
def compile_java(java_file):
subprocess.check_call(['javac', java_file])
def execute_java(java_file):
java_class,ext = os.path.splitext(java_file)
cmd = ['java', java_class]
proc = subprocess.Popen(cmd,stdout=PIPE,stdin-PIPE,stderr=STDOUT)
stdout,stderr = proc.communicate("viraj")
print stdout
私のJavaプログラムは「Test.java」です
import java.util.*;
class Test
{
public static void main(String args[])
{
System.out.println("Tested Successfully");
Scanner t=new Scanner(System.in);
System.out.println("Enter the string");
String str=t.nextLine();
System.out.println("Hello "+str);
}
}
ここでは、としてcheck.py
パラメーターを渡しているため、出力はviraj
proc.communicate("viraj")
テストに成功
しました 文字列
Hello viraj を入力してください
ただし、パラメーターを渡したくありません。代わりに、出力を次のようにします
テストに成功
しました 文字列を入力してください
として文字列を入力すると、次のviraj
ように出力されHello viraj
ます。これを行うにはどうすればよいですか?