On 11/05/2011 19:08, Genstein wrote:
On 11/05/2011 19:24, Terry Reedy wrote:
writing and reading. If you want others to look at this more, you should
1) produce a minimal* example that demonstrates the questionable
behavior, and 2) show the comparative outputs that raise your question.

Thanks for a quick response. Perhaps I was being unclear - in py3k,
given the following code and assuming no errors arise:

 > f = open("foo", "w+b")
 > f.write(b'test')
 > f.seek(0)
 > print(f.read(4))

What is the printed result supposed to be?

i) b'test'
ii) never b'test'
iii) platform dependent/undefined/other

All the best,

-eg.

from:
http://docs.python.org/py3k/library/functions.html#open
"""
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True)¶
<cut>
buffering is an optional integer used to set the buffering policy. Pass 0 to switch buffering off (only allowed in binary mode), 1 to select line buffering (only usable in text mode), and an integer > 1 to indicate the size of a fixed-size chunk buffer. When no buffering argument is given, the default buffering policy works as follows:

* Binary files are buffered in fixed-size chunks; the size of the buffer is chosen using a heuristic trying to determine the underlying device’s “block size” and falling back on io.DEFAULT_BUFFER_SIZE. On many systems, the buffer will typically be 4096 or 8192 bytes long. * “Interactive” text files (files for which isatty() returns True) use line buffering. Other text files use the policy described above for binary files.
"""

So given that explanation, and assuming I understand it, I go for option 'iii'.

--
mph
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to