2016-11-11 38 views
1

我有python程序。 所有的代碼都可以在python中工作。爲什麼java不能在本地保存python程序rdf RDF本體文件?

這意味着我可以使用python運行ontology.py並在本地生成myOntology.rdf。

這裏是代碼的某些部分:

print"~~~~~~~~~~~generate myOntology.rdf~~~~~~~~" 
gs = Graph() 
graph=getRDF(Triple) 
for g in graph: 
    gs=gs+g 
gs.serialize(format='xml') 
print gs.serialize(format='xml') ### in java ____ OK 

print "save locally???........" 

print gs.serialize("myOntology.rdf",format="xml") 
##in java______Python Output: None 

print gs.serialize(destination="D:\\Desktop\\myOntology.rdf",format="xml") 
##in java__ no response 
print"~~finish !!! ~generate myOntology.rdf~~~~~~~~" 

然而,當我使用java調用pyhton和運行ontology.py。該程序停止在本地保存rdf。注意:我的java程序是正確的!

enter image description here

我真的不知道什麼是問題,因爲Python代碼和Java代碼是正確的。 但是當java調用python運行py時,rdf不能保存在本地。

+0

我會檢查您的系統上運行的任何用戶java的寫權限設置 – Sharky

+0

當我使用python運行第一個python程序在本地保存rdf文件。然後使用java來運行其他Python代碼。它工作。沒有錯誤..在我的情況下,我有3個Python程序代碼。第一個python程序:生成rdf(這是myOntology.rdf),第二個python程序:比較。第三python程序:分析 – bob90937

回答

1
file = open("output.rdf", "w") 
results.serialize(destination=file, format="xml") 
file.flush() 
file.close() 

我添加文件打開,關閉....問題解決了。但我不知道它爲什麼工作