[Tutor] Reading from a seperate file

Steven D'Aprano steve at pearwood.info
Fri Oct 26 01:15:37 CEST 2012


On 26/10/12 05:15, myles broomes wrote:
>
> I'm trying to code a program that retrieves data from a seperate
>file but according to my program, the seperate file is empty when
>I know it clearly isn't. It's a txt file and here are its contents:
>  120
> 74
> 57
> 44
> 12
> I thought that maybe the problem was the code I had written but
>even when I try and read from the file in an interactive session
>in the Python Shell, it does the same thing. I open it in read mode
>and assign to a variable like so: scoresFile=open('highScores.txt','r')
>But whenever I try to say read from it: scoresFile.read() It comes
> up with a blank string: ' ' Can anyone help me?
> Myles Broomes


The symptoms you describe suggest that you are reading from the file
twice without closing the file first, or resetting the file pointer.
Once the file pointer reaches the end of the file, there's nothing
left to read and you get an empty string.

Example:

py> count = open("demo", "w").write("some text")
py> f = open("demo", "r")
py> f.read()
'some text'
py> f.read()
''
py> f.read()
''
py> f.seek(0)  # move the file pointer back to the start
0
py> f.read()
'some text'



-- 
Steven



More information about the Tutor mailing list