> I tried : > > for line in f: > gloss[line] = f.readline() >
This should have worked, but there's one problem. Whenever we're doing something like: for line in f: ... there can be some interference between the iteration and any readline() in the body of the loop. For efficiency reasons, the iterator's allowed to march through the file ahead several lines at with an internal buffer. This means our position in the file might be further along than we might realize, and that means that readline() will give nonsensical results. So we're getting caught by a low-level detail. We should try to avoid using both the for loop and readline() on the same file. Here's one way we can avoid the problem: while True: word = f.readline() defn = f.readline() if not word or not defn: break ... Does this make sense? _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor