Предположим имеем файл больше оперативной памяти c огромным количеством строк (есть пустые строки)
1)sorted() занимает оперативку?т.е. он файл целиком в себя пихает и сортирует или там реализация что-то типа пузырьковой при которой потребление оперативки мизерное?
т.е. можно например записать построчно сортированный файл(размер начального больше оперативки в другой файл?или выдаст ошибку что оперативки не хватает?)
пример:
for line in sorted(open('f1.txt','r')): open('f4.txt','a').write(line)
2)при построчном чтении с помощью readline() мы можем остановить цикл такой конструкцией:
f = open(filename) while True: line = f.readline() if not line: break #остановка поскольку конец файла(знаем что тут конец)
можно ли как-то узнать что конец файла наступил если чтение идёт при помощи такой записи?
for line in open(file): #как можно сделать проверку условия конца файла?или никак при такой?