KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
The Python docs on file.read() state that An empty string is returned when EOF is encountered immediately. The documentation further states: Note that this method may call the underlying C function fread() more than once in an effort to acquire as close to size bytes as possible. Also note that when in non-blocking mode, less data than was requested may be returned, even if no size parameter was given. I believe Guido has made his view on not adding f.eof() PERFECTLY CLEAR so need to use the Python way! What is not clear to ME, however, is if it is a definitive test that you have reached EOF if you receive less than the requested bytes from a read, but you did receive some. ie: with open(filename,'rb') as f: while True: s=f.read(size) l=len(s) if l==0: break # it is clear that this is EOF... if l<size: break # ? Is receiving less than the request EOF??? Is it a potential error to break if you have received less than the bytes requested in a call to file.read(size) ?
Tags (comma-separated)
Save Edits
Cancel