[Python-Dev] file() vs open(), round 7
M.-A. Lemburg
mal at egenix.com
Tue Dec 27 15:04:22 CET 2005
Fredrik Lundh wrote:
> M.-A. Lemburg wrote:
>
>>> can we add a opentext factory for file/codecs.open while we're at it ?
>> Why a new factory function ? Can't we just redirect to codecs.open()
>> in case an encoding keyword argument is passed to open() ?!
>
> I think open is overloaded enough as it is. Using separate functions for distinct
> use cases is also a lot better than keyword trickery.
Fair enough.
> Here's a rough draft:
>
> def textopen(name, mode="r", encoding=None):
> if "U" not in mode:
> mode += "U"
The "U" is not needed when opening files using codecs -
these always break lines using .splitlines() which
breaks lines according to the Unicode rules and also
knows about the various line break variants on different
platforms.
> if encoding:
> return codecs.open(name, mode, encoding)
> return file(name, mode)
--
Marc-Andre Lemburg
eGenix.com
Professional Python Services directly from the Source (#1, Dec 27 2005)
>>> Python/Zope Consulting and Support ... http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/
________________________________________________________________________
::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,FreeBSD for free ! ::::
More information about the Python-Dev
mailing list