Ну, стандартная библиотека Python говорит об этом file.read ([размер]):
Read at most size bytes from the file (less if the read hits EOF before obtaining size bytes).
Если аргумент размера отрицательный или пропущен, read all data until EOF is reached
. ... An empty string is returned when EOF is encountered immediately
. ... Также обратите внимание, что when in non-blocking mode, less data than was requested may be returned, even if no size parameter was given.