From the file.read() method documentation:
An empty string is returned when EOF is encountered immediately.
You have hit the end of the file object, there is no more data to read. Files maintain a 'current position', a pointer into the file data, that starts at 0 and is incremented as you read dada.
See the file.tell() method to read out that position, and the file.seek() method to change it.