When I loaded it up, I got the following error: Traceback (most recent call last): File "C:\Python24\Account Tracker.py", line 82, in ? load_file(accountlist) File "C:\Python24\Account Tracker.py", line 10, in load_file amount = line.next().strip() AttributeError: 'str' object has no attribute 'next'
According to it, the 'str' object has no attribute 'next'. So how would I load my file containing my data? Relevant code: def load_file(ac): import os filename = 'accounts.txt' if os.path.exists(filename): store = open(filename, 'r') for line in store: account = line.strip() amount = line.next().strip() ac[account] = amount else: store = open(filename, 'w') store.close Thanks. Nathan Pinno ----- Original Message ----- From: "Alan Gauld" <[EMAIL PROTECTED]> To: "Nathan Pinno" <[EMAIL PROTECTED]>; <tutor@python.org> Sent: Sunday, June 25, 2006 1:07 AM Subject: Re: [Tutor] Is this correct syntax for what I want? >> File "C:\Python24\Account Tracker.py", line 49, in printall >> print account,"\t $",accountlist[account]+"\n" >> TypeError: unsupported operand type(s) for +: 'float' and 'str' >> >> So how do I fix this error? > > What it's saying is you can't add a float and string. If you look at the > code you are trying to add "\n" to accountlist[account] which is a float. > You need to convert the string to a float or the float to a string. In > this case converting the float to a string would be the better approach! > :-) > > However I would personally recommend that you use a format string here > since it will give you much better control of the appearance of the output > and avoids the need to convert the values. > > print "%s\t $%0.2f\n" % (account, accountlist[account]) > > HTH, > > Alan Gauld > Author of the Learn to Program web site > http://www.freenetpages.co.uk/hp/alan.gauld > > _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor