Обработка текстовых файлов: продолжение
Если Вы абсолютно уверены, что длина файла безопасна, и Вы можете сразу считать весь файл в память, Вы можете сделать это - функция read()
, вызываемая без каких-либо аргументов или с аргументом, который является None
, выполнит эту работу за Вас.
Помните - чтение файла длиной в терабайты с использованием этого метода может привести к повреждению вашей ОС.
Не ожидайте чудес - память компьютера не растягивается.
Посмотрите на код в редакторе. Что Вы думаете об этом?
Давайте проанализируем это:
- откройте файл как ранее;
- прочтите его содержимое одним вызовом функции
read()
; - затем обработайте текст, повторяя его с помощью обычного цикла
for
и обновляя значение счетчика при каждом повторе цикла.
Результат будет точно таким же, как и ранее.
Code
from os import strerrortry:
counter = 0
stream = open('text.txt', "rt")
content = stream.read()
for char in content:
print(char, end='')
counter += 1
stream.close()
print("\n\nCharacters in file:", counter)
except IOError as e:
print("I/O error occurred: ", strerr(e.errno))
{{ dockerServerErrorMsg }}
×
{{ errorMsg }}
×
{{ successMsg }}
×