It's ...

Kirk Strauser kirk at
Thu Jun 25 11:31:47 EDT 2009

At 2009-06-24T19:53:49Z, Angus Rodgers <twirlip at> 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:
> 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
Kirk Strauser
The Day Companies

More information about the Python-list mailing list