#python #file #byte
#python #файл #байт
Вопрос:
Я хотел бы прочитать очень большой файл (100 ГБ) на Python. Если я использую только
with open("test.test", 'rb') as f:
data = f.read()
Это приведет MemoryError
к. Мне пришла в голову идея читать этот файл байт за байтом. Я пытался
with open("test.txt", 'rb') as f:
data = f.read(1)
И все было идеально; был прочитан только один байт. Проблема возникает при чтении следующих байтов. Если я заменю аргумент 1
на 2
вывод, это будет 2 байта, а не секундный байт. Я мог бы использовать функцию разделения, но в этой конкретной функции мне нужно не превышать лимит памяти. Есть ли какой-нибудь способ читать файл байт за байтом? Или есть какое-либо решение?
Комментарии:
1. Если вы вызовете
read(1)
снова, вы получите следующий байт.
Ответ №1:
Вы можете сделать это с помощью поиска. Просто увеличьте смещение по своему усмотрению.