Bug writing/reading to file.

A

arne.k.h

Hi! :)

Im new to python, and I have made a electronic diary - its just a
task. Here is the code:
http://pastebin.com/m49391798

The bug is (feel free to download and test it) that i can't see what i
wrote in the diary without restarting the program. Here is an example:

1: I start the program
2: (text.txt is empty)
3: I write "hello, how are you?" with the writing-function in the
program
4; I use the read-all-function in the program.
5: There is no entries in the diary. But if I restart the program, I
can read the file.

The strange thing is that if i watch the file contents while im using
the program, I see that i add the line "hello, how are you?" to the
file, but i can't read it with the read-function.

Can this be a problem with file-pointers? And how can i solve it?
 
L

Lars Johansen

text.txt is only read when you open the file, that means that your read
statement, doesnt now of what has been written to the file, since it was
opened..

under if if option == "1":
you should add, then it will be re-read for every read
abc = open('text.txt')
query = abc.readlines()

man, 24.12.2007 kl. 03.53 -0800, skrev (e-mail address removed):
 
A

Arne

Hi! :)

Im new to python, and I have made a electronic diary - its just a
task. Here is the code:http://pastebin.com/m49391798

The bug is (feel free to download and test it) that i can't see what i
wrote in the diary without restarting the program. Here is an example:

1: I start the program
2: (text.txt is empty)
3: I write "hello, how are you?" with the writing-function in the
program
4; I use the read-all-function in the program.
5: There is no entries in the diary. But if I restart the program, I
can read the file.

The strange thing is that if i watch the file contents while im using
the program, I see that i add the line "hello, how are you?" to the
file, but i can't read it with the read-function.

Can this be a problem with file-pointers? And how can i solve it?

The problem is solved! Thanks for the help!
 
G

Guilherme Polo

2007/12/24 said:
Hi! :)

Im new to python, and I have made a electronic diary - its just a
task. Here is the code:
http://pastebin.com/m49391798

The bug is (feel free to download and test it) that i can't see what i
wrote in the diary without restarting the program. Here is an example:

1: I start the program
2: (text.txt is empty)
3: I write "hello, how are you?" with the writing-function in the
program
4; I use the read-all-function in the program.
5: There is no entries in the diary. But if I restart the program, I
can read the file.

The strange thing is that if i watch the file contents while im using
the program, I see that i add the line "hello, how are you?" to the
file, but i can't read it with the read-function.

Can this be a problem with file-pointers? And how can i solve it?

When you start you store 'text.txt' lines in query, and since it was
empty there were no lines so you are storing an empty list. Then later
you ask to print all the entries iterating this empty list and it
correctly prints nothing. To solve this you need to reread 'text.txt'
lines.

Besides the solution I need to make some points:
- Post a shorter sample next time
- You don't need to use readlines() for this, just use for line in
yourfileobject: ...
- Also, you dont need that x, you could use for indx, line in
enumerate(yourfileobject): ...
- I didn't look at the rest of the code, so there could be more
corrections worth being noted
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,009
Latest member
GidgetGamb

Latest Threads

Top