[Python-Dev] Please review PEP 278 (original) (raw)
[Python-Dev] Please review PEP 278 - Universal newline support
Just van Rossum just@letterror.com
Fri, 8 Mar 2002 16:57:02 +0100
- Previous message: [Python-Dev] Please review PEP 278 - Universal newline support
- Next message: [Python-Dev] Please review PEP 278 - Universal newline support
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Greg Ward wrote:
-1 on using a file mode character that conflicts with existing conventions (eg. if "t" really is already used on Windows, find something else).
The "t" isn't really needed to begin with, files opened in text mode should convert any line ending to \n. One of Jack's arguments for "t" is:
- Compatibility. Programs which already do their own
interpretation of \r\n in text files would break. Programs
which open binary files as text files on Unix would also break
(but it could be argued they deserve it :-).
I don't understand the first bit, but my opinion on the latter bit is "they deserve it". However this problem can also be circumvented by having the feature off by default on those platforms.
This is Jack's second argument for a "t" mode:
- Interface clarity. Universal newlines are only supported for
input files, not for input/output files, as the semantics would
become muddy. Would you write Mac newlines if all reads so far
had encountered Mac newlines? But what if you then later read a
Unix newline?
I think you can simply substitute the platform line ending when writing a \n. I don't know, but I wouldn't worry too much about read/write mode. If you're going to write to one text file from different platforms you're going to have to settle for one convention anyway, and that then might as well be \n & binary mode... An alternative might be a settable lineending attribute.
Just
- Previous message: [Python-Dev] Please review PEP 278 - Universal newline support
- Next message: [Python-Dev] Please review PEP 278 - Universal newline support
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]