Can't figure out 'instance has no attribute' error
varun7rs at gmail.com
varun7rs at gmail.com
Sun May 18 15:02:27 EDT 2014
On Sunday, 18 May 2014 01:56:42 UTC+2, varu... at gmail.com wrote:
> 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
Thank you very much Ned, Rodri and Gary. I changed the settings of gedit text editor as mentioned in the Zed Shaw tutorial. I think this is causing me the problem. I'll follow your advice.
More information about the Python-list
mailing list