file.read Problem
Tim Peters
tim.one at home.com
Wed Aug 29 00:23:47 EDT 2001
[Brian Patton]
> I'm having a problem with file.read.
>
> I'm writing a filter to get data from a binary formatted file so that I
> can import it into other software. I'm running Python 2.1 with the win
> extensions downloaded from ActiveState. Win98 system. Oh, and I've
> opened the file "rb"! ;)
>
> My problem is that when I try to read in a given number of bytes, the
> length of the string returned is rarely the length that is expect.
> Furthermore, if I try to get the data by repeatedly grabbing smaller
> chunks then is seems to step almost randomly through the file.
> ...
Since this is "an impossible problem", I doubt you're going to get anywhere
until you post a complete, self-contained, executable code snippet.
Whatever is going wrong is going wrong due to something you haven't shown
us.
Here's my complete, self-contained, executable code snippet, in file
seek.py:
fFile = open('python.exe', 'rb')
fFile.seek(8000)
while fFile.tell() < 12000:
test = fFile.read(6)
print "Length of string read in:", len(test), \
"Current File Pos:", fFile.tell()
Here I'm running it:
C:\Code\python\PCbuild>python seek.py > seek.txt
Here's what's in seek.txt afterwards:
Length of string read in: 6 Current File Pos: 8006
Length of string read in: 6 Current File Pos: 8012
Length of string read in: 6 Current File Pos: 8018
... many equally boring lines skipped ...
Length of string read in: 6 Current File Pos: 11990
Length of string read in: 6 Current File Pos: 11996
Length of string read in: 6 Current File Pos: 12002
Everything's fine. Show us something that isn't, including the open.
More information about the Python-list
mailing list