"Eduardo Vieira" <eduardo.su...@gmail.com> wrote
arq = open('c:/myscripts/simple2.ttt', 'w')
arq.write('The length is %d' % len(a))
res = arq.read()
print res
The print doesn't print the text I had written,
That's because of two things:
a) You opened the file for write only not reading
b) You had moved the file cursor beyond the text you wrote
On (b): the file is conceptually a sequential data stream
so think of the cursor in a text editor line. After you have
written something you cannot select what you have
written unless you cursor back to the beginning.
Similarly with a file. Even if you opened it with rw
access you would still need to position the cursor
(with the seek() call) to the point before what you
wrote to be able to read it. After reading it the cursor
would once again be at the end of the file and you
could write more data.
But if I had closed the file and
then did this: res = open('c:/myscripts/simple2.ttt').read(), it would
have worked.
Thats right because you now open the file for reading,
therefore the cursor is repositioned at he start of the file and
the mode is set correctly.
HTH,
--
Alan Gauld
Author of the Learn to Program web site
http://www.alan-g.me.uk/
_______________________________________________
Tutor maillist - Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor