Введение в язык Питон



Операции с файлами. - часть 2


>>> f.read() 'This is the entire file.\n' >>> f.read() ''

Метод readline() читает одну строку файла до символа перевода строки(включая сам символ \n). Если строка состоит только из символа перевода строки, то метод readline() возвращает пустую строку. Если в конце файла нет пустой строки с символом \n, то возвращаемый результат неопределён(этого допускать нельзя):

>>> f.readline() 'This is the first line of the file.\n'

>>> f.readline() 'Second line of the file\n'

>>> f.readline() ''

Метод readlines([размер_строки]) читает все строки файла в список. Читаются только законченные строки. Необязательный параметр размер_строки дополняет читает строку, и если она меньше указанной длины читает дальше, до достижения указанного числа символов, такой приём эффективен для чтения очень больших файлов построчно без необходимости размещения его в памяти:

>>> f.readlines()

['This is the first line of the file.\n', 'Second line of the file\n']

Метод write(строка) пишет в файл указанную строку, ничего при этом не возвращая:

>>> f.write('This is a test\n')

Метод seek(на_сколько_байт[, откуда]) перемещает указатель текущего положения файла на заданное количество байт от позиции, указанной вторым аргументом:

0(по умолчанию)

1

2

начало файла

текущая позиция в файле

конец файла

При этом, число байт для перемещения может быть как положительным, так и отрицательным(назад).

Метод tell() возвращает текущую позицию в файле:

>>> f=open('/tmp/workfile', 'r+')

>>> f.write('0123456789abcdef')

>>> f.seek(5) # Переход к шестому байту от начала

>>> f.read(1)

'5'

>>> f.seek(-3, 2) # Переход к третьему байту до конца файла

>>> f.read(1)

'd'

Метод close() закрывает объект файла, перенося все сделанные в нём изменения на диск, возвращая ресурсы операционной системе. Обязательно закрывайте все файлы, сто больше не используете, т.к. не закрытый файл может привести к потере данных. После закрытия обращение к объекту файла автоматически вызывает ошибку




Содержание  Назад  Вперед