[Python-Dev] file() vs open(), round 7 (original) (raw)
M.-A. Lemburg mal at egenix.com
Tue Dec 27 15:04:22 CET 2005
- Previous message: [Python-Dev] file() vs open(), round 7
- Next message: [Python-Dev] file() vs open(), round 7
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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 ! ::::
- Previous message: [Python-Dev] file() vs open(), round 7
- Next message: [Python-Dev] file() vs open(), round 7
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]