[Tutor] How do I fix the following error? Code and error message supplied.
Danny Yoo
dyoo at hkn.eecs.berkeley.edu
Thu Aug 4 04:45:41 CEST 2005
On Wed, 3 Aug 2005, Nathan Pinno wrote:
> Traceback (most recent call last):
> File "D:\Python24\password.py", line 82, in -toplevel-
> load_file(sitelist,filename)
> File "D:\Python24\password.py", line 51, in load_file
> [site,ID,passcard] = string.split(in_line,",")
> File "D:\Python24\lib\string.py", line 292, in split
> return s.split(sep, maxsplit)
> AttributeError: 'list' object has no attribute 'split'
Hi Nathan,
Let's pay attention to the line 51 in your file:
> [site,ID,passcard] = string.split(in_line,",")
string.split() will fail if it is being given a set of arguments that it
doesn't understand. string.split() works only if in_line is a string.
But in the function load_file(), in_line is a list of strings. So there's
definitely a bug in load_file, in confusing the list of lines with a
particular single line. Actuallly, a lot of load_file() needs some
rework.
We strongly recommend you go through:
http://www.freenetpages.co.uk/hp/alan.gauld/tutfiles.htm
because the code that you're writing to handle the reading of files is
using a very old style of Python that hasn't been seen since the Python
1.52 days; I suspect that you are learning from a very deprecated
tutorial! The approach that Alan takes in his "Learning How to Program"
tutorial uses a more modern, less bug-prone style of reading files.
More information about the Tutor
mailing list