Gary M. Josack wrote: > sc wrote: >> clp: >> >> Thanx to a recent thread I am able to have a print string >> with a variable number of formatters -- what I now lack for >> the creation of an elegant print statement is a tuple -- >> following is the code, the last line of which does not work: >> >> <code> >> #!/usr/bin/python >> import xml.sax >> import eaddyhandler >> parser = xml.sax.make_parser() >> h = eaddyhandler.EAddyHandler() >> parser.setContentHandler(h) >> parser.parse(".ea.xml") >> for i in range(1, len(h.m)): >> k = "r%06d" % i >> col = len(h.m[k]) >> if col > 2 and h.m[k][0] > " ": >> print (col * '%-30s') % h.m[k] >> </code> >> >> What's going on is I have an oocalc spreadsheet for >> e-addresses -- column 1 has the name, and then I keep >> adding e-addresses for ppl when they get new ones, as >> successive entries on their row, meaning each row has >> a variable number of e-address columns. I have an xml >> extractor that runs before this script using >> odf.opendocument, which works famously. >> >> My class, EAddyHandler, also works, and builds its dictionary >> of rows in 'm', forgive me, no flames please, I needed a >> short name for the dictionary I have to type it so many times. >> The key to 'm' is an 'r' + row number, so I can get >> stuff out of it and it's still in the right order, fun >> with dictionaries. >> >> What I was hoping for was something that could vary the >> source for the print statement as cleanly as the 'col' >> multiplication creates the print format, but the list, >> 'h.m[k]' is not a tuple, it's a list, and I'm just not >> quite where I am trying to get with this. >> >> If there were a builtin function that took a list and >> returned a tuple, I'd be there, but if there is such a >> thing I need someone to point me at it. I can't help >> thinking I am missing some obvious construct, and I'll >> be advised to go reread the tutorial, but I'm not there, >> and if you can take pity on me and point me there, I'll >> be your friend for life. Well -- I'll be grateful... >> >> TIA, >> >> Scott >> >> -- >> http://mail.python.org/mailman/listinfo/python-list >> > >>> L = [1,2,3,4,5] > >>> t = tuple(L) > >>> t > (1, 2, 3, 4, 5)
fine, documented now, for the world to see, I'm an idiot, fine, but anyway, thank you both, I'll shutup now. sc -- http://mail.python.org/mailman/listinfo/python-list