Message52507
I can easily reproduce this problem on OS X 10.4.9 using Python 2.4.3 and Python 2.5.
Here's the code
#################
import os, sys
filename = "spam"
f = open(filename, "w+")
f.seek(0, 2)
line = f.read() # EOF
# Writing the same file using another fd
f2 = open(filename, "a+")
f2.write("Spam")
f2.flush()
f2.close()
statinfo = os.stat(filename)
print "file size: %d" % statinfo.st_size
print "position : %d" % f.tell()
line = f.read() # read() returns emtpy!! readlines?() works ok
print "line : [%s]" % line
#################
On my machine, it outputs the following
###
file size: 4
position : 0
line : []
###
And just now I found that on ubuntu on the same machine (vmware),
it works collect.
###
file size: 4
position : 0
line : [Spam]
###
My patched version python outputs the same result as above on OS X.
We need clearerr() there, too because clearerr()'s job is not only only clearing error indicators
but EOF indicators also.
|
|
Date |
User |
Action |
Args |
2007-08-23 15:58:11 | admin | link | issue1706039 messages |
2007-08-23 15:58:11 | admin | create | |
|