Sono nuovo in Python e devo costruire un albero in python dopo aver preso in input da un file di testo
ho i seguenti dati in un file di testo. Devo costruire un albero in pitone con i dati di seguito utilizzando JSONCostruisci un albero in python attraverso la ricorsione prendendo in oggetto json
{
"component": "A",
"status": 0,
"children": [
{
"component": "AA",
"status": 0,
"children": [
{
"component": "AAA",
"status": 0,
"children": []
},
{
"component": "AAB",
"status": 0,
"children": []
}
]
},
{
"component": "AB",
"status": 0,
"children": [
{
"component": "ABA",
"status": 0,
"children": []
},
{
"component": "ABB",
"status": 0,
"children": []
}
]
}
}
ho scritto il codice qui sotto, ma ha gli errori di sintassi che Im in grado di correggere se qualcuno riesce a trovare loro
class node:
#Construction of Node with component,status and children
def _init_(self,component=None,status=None,children=None):
self.component = component
self.status = status
if children is None:
self.children = []
else:
self.children = children
#Building Json object from text file
class start:
import json
f=open("json_file.txt")
data=json.load(f)
buildnode(data)
#Construction of tree through recursion
class implementation:
def buildnode(self,ob):
node1= node()
node1.component=ob.component
node1.status=ob.status
node1.children=[]
print 'component',component,'','status',status
for children in ob:
node1.children.add(buildnode(children[i]))
return node1
L'errore che sto vedendo è un errore di decodifica relativo al JSON (sembra che vi manca una parentesi quadra di chiusura sulla penultima riga) –
E il uso di una classe senza invocare un'istanza per richiamare il suo metodo buildnode –