Принятый ответ хорош, но он будет очень медленным с большими файлами -string - это неизменный класс, это означает, что каждый объект будет создан каждый раз, когда вы используете знак +
, используя list
в качестве структуры стека будет больше эффективный.
Это должно работать лучше
while True:
chunck = s.recv(10000)
if not chunck:
break
fragments.append(chunck)
print "".join(fragments)