Различия в read (), readline () и readlines () в Python - PullRequest
0 голосов
/ 24 сентября 2019

Я искал в сети Python команды, упомянутые в заголовке, и их различие;однако я не удовлетворен полным базовым пониманием этих команд.

Предположим, что мой файл содержит только следующего содержания.

Это первый раз, когда я задаю вопрос на этом сайте, я буду признателен, если кто-то прояснит мои сомнения в изучении Python.Я благодарю StackOverflow за эту платформу.

В командах read (), readline () и readlines (), одно отличие состоит в чтении всего файла или одной строкиили указанная строка.

Но я не понимал использование / необходимость использования скобок () в этих командах.Например, в чем разница между readline () и readline (7) ?Если аргумент 7 превышает количество строк в файле, что будет выводиться?


В упомянутой выше сети объясняется, что делает аргумент в read () ;но не упоминается, что делает аргумент в readline () или readlines () ?

1 Ответ

1 голос
/ 24 сентября 2019

За подробностями обращайтесь к документации библиотеки, а не к учебнику.

Из io документации :

readline(size=-1)

Чтение и возврат одной строки из потока.Если указано size, будет прочитано не более size байт.

Терминатор строки всегда равен b'\n' для двоичных файлов;для текстовых файлов аргумент новой строки open() может использоваться для выбора распознанных терминаторов строки.


readlines(hint=-1)

Чтение и возврат списка строк изпоток.hint может быть указано для управления количеством прочитанных строк: больше строк не будет считываться, если общий размер (в байтах / символах) всех строк до сих пор превышает hint.

Обратите внимание, что это ужеможно перебирать файловые объекты, используя for line in file: ... без вызова file.readlines().

Итак, readline() читает всю строку.readline(7) читает не более 7 байтов строки.readlines() читает все строки в виде списка.readlines(7) возвращает не более 7 строк в виде списка.

...