मैं एक .py के बारे में एक प्रोग्राम लिखने की कोशिश कर रहा हूं, एक जावा इंटरफ़ेस का विस्तार करें, जैसे example on IBM developerworks।ज्योथन विशेषता त्रुटि: केवल पढ़ने के लिए attr
लेकिन मैं की तरह एक समस्या है:
AttributeError: read-only attr: cardID
लेकिन अजीब बात यह है कि अगर मैं cardNum को cardID नाम बदलने है, यह काम करता है। यहाँ मेरा कोड:
CardInfo.py
from com.jyt import CardInfo
class CardInfo(CardInfo):
def __init__(self):
self.cardName = "Dark Magician"
self.cardID = "888"
def getName(self):
return self.cardName
def getCardID(self):
return self.cardID
def setID(self,newID):
self.cardID = newID
और जावा इंटरफ़ेस:
public interface CardInfo {
public String getCardID();
public String getName();
public void setID();
}
और जावा फ़ाइल
Object javaObject;
PythonInterpreter interpreter = new PythonInterpreter();
// PySystemState sys = Py.getSystemState();
interpreter.execfile("./res/CardInfo.py");
interpreter.exec("cardInfo=CardInfo()");
PyObject pyObject = interpreter.get("cardInfo");
pyObject.invoke("setID",new PyString("12345"));
try{
javaObject = pyObject.__tojava__(CardInfo.class);
CardInfo cardInfo = (CardInfo)javaObject;
System.out.println(cardInfo.getCardID());
System.out.println(cardInfo.getName());
}catch(Exception e){
e.printStackTrace();
}
किसी को भी जानता है कि यह कैसे हल करने के लिए?
ऐसा लगता है कि कार्डआईडी एक कीवर्ड्स या कुछ है, मैंने कार्डनिड, सीआईडी इत्यादि की कोशिश की है, यह – user1746290