Re: python tutorial
- From: Robert Kern <robert.kern@xxxxxxxxx>
- Date: Thu, 18 Jun 2009 13:55:07 -0500
On 2009-06-18 00:57, steve wrote:
"Robert Kern"<robert.kern@xxxxxxxxx> wrote in message
news:mailman.1728.1245289092.8015.python-list@xxxxxxxxxxxxx
On 2009-06-17 19:36, steve wrote:The Windows implementation of the C standard makes the distinction. E.g."Carl Banks"<pavlovevidence@xxxxxxxxx> wrote in message1) Windows does not make a distinction between text and binary files.
news:2f6271b1-5ffa-4cec-81f8->>0276ad647026@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
On Jun 15, 7:56 pm, "steve"<st...@xxxxxxxxx> wrote:
I was just looking at the python tutorial, and I noticed these lines:What's wrong with it?
http://docs.python.org/tutorial/inputoutput.html#reading-and-writing-...
"Windows makes a distinction between text and binary files;
"the end-of-line characters in text files are automatically altered
"slightly when data is read or written.
I don't see any obvious way to at docs.python.org to get that
corrected:
Is
there some standard procedure?
Carl Banks
2) end-of-line characters in text files are not automatically altered by
Windows.
using stdio to write out "foo\nbar\n" in a file opened in text mode will
result in "foo\r\nbar\r\n" in the file. Reading such a file in text mode
will result in "foo\nbar\n" in memory. Reading such a file in binary mode
will result in "foo\r\nbar\r\n". In your bug report, you point out several
proprietary APIs that do not make such a distinction, but that does not
remove the implementations of the standard APIs that do make such a
distinction.
http://msdn.microsoft.com/en-us/library/yeby3zcb.aspx
Perhaps it's a bit dodgy to blame "Windows" per se rather than its C
runtime, but I think it's a reasonable statement on the whole.
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless
enigma
that is made terrible by our own mad attempt to interpret it as though it
had
an underlying truth."
-- Umberto Eco
Which is where I came in: I was looking for simple file IO in the tutorial.
The tutorial tells me something false about Windows, rather than something
true about Python.
I don't think it's false. I think it's a fair statement given the Windows implementation of the C standard library. Such things are frequently considered to be part of the OS. This isn't just some random API; it's the implementation of the C standard.
I'm looking at a statement that is clearly false (for anyone who knows
anything about Windows file systems and Windows file io), which leaves the
Python behaviour completely undefined (for anyone who knows nothing about
Python).
I understand that many of you don't really have any understanding of
Windows, much less any background with Windows, and I'm here to help. That
part was simple.
The next part is where I can't help: What is the behaviour of Python?
The full technical description is where it belongs, in the reference manual rather than a tutorial:
http://docs.python.org/library/functions.html#open
I'm sure you don't think that tutorial is only for readers who can guess
that they have to extrapolate from the behaviour of the Visual C library in
order to work out what Python does.
All a tutorial level documentation needs to know is what is described: when a file is opened in text mode, the actual bytes written to a file for a newline may be different depending on the platform. The reason that it does not explain the precise behavior on each and every platform is because it *is* undefined. Python 2.x does whatever the C standard library implementation for stdio does. It mentions Windows as a particularly common example of a difference between text mode and binary mode.
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
.
- References:
- python tutorial
- From: steve
- Re: python tutorial
- From: Carl Banks
- Re: python tutorial
- From: steve
- Re: python tutorial
- From: Robert Kern
- Re: python tutorial
- From: steve
- python tutorial
- Prev by Date: Re: walking a directory with very many files
- Next by Date: Re: python tutorial
- Previous by thread: Re: python tutorial
- Next by thread: Re: python tutorial
- Index(es):
Relevant Pages
|
Loading