Чтение только первых значений файла - PullRequest
0 голосов
/ 08 июня 2018

Справочная информация: У меня большой файл, и я хочу прочитать из него первые несколько значений.Я на самом деле не хочу читать весь файл частично, так как я больше не использую его, чтобы он не использовал ненужную память и выполнялся быстрее (так как ему не нужно читать этот огромный файл).


Из документации Я использую:

test.txt

Greetings World :)

test.py:

with open('test.txt', buffering=3) as file:
    a = file.read()
print(a)

Он не только частично читает мой файл.

Есть ли способ прочитать только часть файла?

Ответы [ 2 ]

0 голосов
/ 08 июня 2018

У вас есть несколько вариантов.

file.read() читает весь файл

file.read(size) читает размер данных (символ для текстового режима, байт для двоичного режима)

file.readlines() list(file) for line in file: все предоставляют способы чтения всего файла

file.readline() возвращает одну строку за раз (чтение до символа новой строки (\n) или до концафайл (EOF))

проверьте здесь для документации.

0 голосов
/ 08 июня 2018

Из этого ответа Какая польза от буферизации во встроенной в python функции open ()? вы увидите, что buffering на самом деле не считывает диапазон.Вместо этого установите диапазон в a.read().Итак:

with open('test.txt') as file:
    a = file.read(3) 
print(a)

возвращает Gre, как и следовало ожидать.

См. Документацию

Чтобы прочитать содержимое файла,Вызовите f.read (размер), который считывает некоторое количество данных и возвращает их в виде строки (в текстовом режиме) или байтового объекта (в двоичном режиме).размер является необязательным числовым аргументом.Если размер опущен или отрицателен, все содержимое файла будет прочитано и возвращено;

Если вам нужно прочитать значения в текстовом файле, вы можете использовать a.seek() см. функция seek ()?

...