On Jun 8, 11:54 am, "T. Crane" <[EMAIL PROTECTED]> wrote: > >> any suggestions are appreciated, > > > Yes, don't try iterating over objects that are not iterable. ;-) > > Ah, yes... I hadn't thought of that :) > > thanks, > trevis > > > > > What you *can* do is iterating over lists, tuples or other iterables with > > just one element in them. Try ``a = [1]``. > > > Ciao, > > Marc 'BlackJack' Rintsch
You can also do this (if tuples are okay in your case): a = 1, The comma turns 'a' into a tuple (1,) which is both iterable and has a length of 1. I have run into this issue before with a function that took a list of filenames (strings), and needed to iterate over the list to operate on the input files. For the case when the input would be a single file, I needed to turn the input string into an iterable such that the 'for' loop would not iterate on the filename characters (a rather undesirable gotcha, you understand :-) ). So I solved my problem like this: def loadfiles(filelist): if not isinstance(filelist, list): filelist = filelist, for filename in filelist: f = open(filename,'r') #do interesting stuff with file, etc... ..and it's been working very well. Cheers, -Basilisk96 -- http://mail.python.org/mailman/listinfo/python-list