It's ...

Kirk Strauser kirk at daycos.com
Thu Jun 25 17:31:47 CEST 2009


At 2009-06-24T19:53:49Z, Angus Rodgers <twirlip at bigfoot.com> writes:

> stop = 3   # Tab stops every 3 characters
> from types import StringType   # Is this awkwardness necessary?
> detab = lambda s : StringType.expandtabs(s, stop)  # Or use def
> f = open('h071.txt')   # Do some stuff to f, perhaps, and then:
> f.seek(0)
> print ''.join(map(detab, f.xreadlines()))
> f.close()

An equivalent in modern Pythons:

>>> print ''.join(line.expandtabs(3) for line in file('h071.txt'))

In short: expandtabs is a method on strings, there's no need to seek to the
beginning, and files are closed when they are garbage collected (although I
can't make myself not close output files after years of doing so), and map()
is largely deprecated in favor of list comprehensions and generator
functions.
-- 
Kirk Strauser
The Day Companies



More information about the Python-list mailing list