Can't figure out 'instance has no attribute' error

varun7rs at gmail.com varun7rs at gmail.com
Sat May 17 19:56:42 EDT 2014


Hello Friends,

I am working on this code but I kind of get the same error over and over again. Could any of you help me fix this part of the error?

File RW1:
class PHY_NETWORK:
    def __init__(self, nodes, edges):
        self.nodes = nodes
        self.edges = edges  
        
	def addNode(self, node):
		self.nodes.append( node )

	def addEdge(self, edge):
		self.edges.append( edge )

File RW3:
def createnetwork(graph):

	
	doc = parse( args.paramFile )
	noderef = []	
	num = 0
	nodelist = doc.getElementsByTagName("node")
	for node in nodelist:
		noderef.append(node.getAttribute("id"))
		proc = random.randint(3500, 5000)
		stor = random.randint(7200, 8200)
		switch = random.randint(7000, 10000)
		num = num + 1
		totaldemands = random.randint(1, 5)
		graph.addNode(PHY_NODES( node.getAttribute("id"), int(num), float(xCoordinates.firstChild.data), float(yCoordinates.firstChild.data), float(proc), float(stor), float(switch), int(totaldemands)))
		    
		    
	linkid = 0    
	linklist = doc.getElementsByTagName("link")    
	for link in linklist :
		linkid = linkid + 1
		Source = link.getElementsByTagName("source") [0]
		Destination = link.getElementsByTagName("target") [0]
		Capacity = link.getElementsByTagName("capacity") [0]
		SourceID = noderef.index(Source.firstChild.data) + 1
		DestinationID = noderef.index(Destination.firstChild.data) + 1
		graph.addEdge( PHY_LINKS( linkid, Source.firstChild.data, Destination.firstChild.data, DestinationID, SourceID, float(Capacity.firstChild.data) ))


	global args
	args = parser.parse_args()

	samplenetwork = PHY_NETWORK([], [])
	for i in range(1, 100):
		createnetwork(samplenetwork)
		exportXmlFile(samplenetwork, args.output, 'a' )		
	
   
if __name__ == "__main__":
  main(sys.argv[1:])


srva at hades:~$ python RW3.py --output topology.xml --xml germany50.xml
Traceback (most recent call last):
  File "RW3.py", line 157, in <module>
    main(sys.argv[1:])
  File "RW3.py", line 152, in main
    createnetwork(samplenetwork)
  File "RW3.py", line 31, in createnetwork
    graph.addNode(PHY_NODES( node.getAttribute("id"), int(num), float(xCoordinates.firstChild.data), float(yCoordinates.firstChild.data), float(proc), float(stor), float(switch), int(totaldemands)))
AttributeError: PHY_NETWORK instance has no attribute 'addNode'


The error that it give back is as above. I have the classes defined in RW1 file and I am importing the classes onto RW3 file and yet, It doesn't seem to work. I really am in need of your valuable suggestions. Thank You



More information about the Python-list mailing list