Я использую java для создания ProcessBuilder для запуска python.процесс Builder java не может запустить некоторый код python в java. Как решить?
Обе из них могут быть успешно запущены в программе python. (Два пе не имеют проблем с кодом)
input.py:
print 'hello'
number=[3,5,2,0,6]
print number
number.sort()
print number
number.append(0)
print number
print number.count(0)
print number.index(5)
TESTopenBaseOnt.py:
from rdflib import URIRef, Graph, Namespace
from rdflib.plugins.parsers.notation3 import N3Parser
from rdflib.namespace import RDF, OWL, RDFS
from rdflib import URIRef, BNode, Literal
from rdflib import Namespace
from rdflib.namespace import RDF, FOAF, RDFS
from rdflib import Graph
gUpdate = Graph()
print ".> Step....1"
gUpdate.parse("BBCOntology.rdf")
print ".> Step....2"
print gUpdate.serialize(format='xml')
print ".> Finished......."
#
AS вы можете увидеть изображение.
код работает для питона: input.py Однако, это не работает для питона: TESTopenBaseOnt.py
Это может быть потому, что Java не может запустить функцию разбора в питона. как результат показывает, что программа остановилась на шаге 1.
public static void main(String [] args) throws IOException
{
try
{
ProcessBuilder pb = new ProcessBuilder("C:/Python27/python","C:Desktop//searchTestJava//input.py");
// ProcessBuilder pb = new ProcessBuilder("C:/Python27/python","C:Desktop//searchTestJava//TESTopenBaseOnt.py");
Process p = pb.start();
BufferedReader bfr = new BufferedReader(new InputStreamReader(p.getInputStream()));
System.out.println(".........start process.........");
String line = "";
while ((line = bfr.readLine()) != null){
System.out.println("Python Output: " + line);
}
System.out.println("........end process.......");
}catch(Exception e){System.out.println(e);}
}
Так как решить эту проблему, что питон не может работать в Java
Возможно, ваш скрипт py не может найти ваш файл BBCOntology.rdf, потому что processbuilder запускает скрипт в другом каталоге. Попробуйте абсолютный путь в вашей синтаксической линии – ArcticLord
Большое спасибо. Я получил идею – HiPownedBi