Найти - Пользователи
Полная версия: много вопросов по sorted и итерациям
Начало » Python для новичков » много вопросов по sorted и итерациям
1
mishanya
Итак,вопросы:
Предположим имеем файл больше оперативной памяти 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):
    #как можно сделать проверку условия конца файла?или никак при такой?

s0rg
Если вопрос только о сортировке то вот
Romiss
mishanya
можно ли как-то узнать что конец файла наступил если чтение идёт при помощи такой записи?
for line in open(file):
    #как можно сделать проверку условия конца файла?или никак при такой?

Цикл for вызывает метод next() в каждой итерации и определяет момент выхода по исключению StopIteration. Т.е. for сам определяет когда настанет конец файла…
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB