Максимальный размер файла, который может открыть Python?

Я открыл файл 8 MB в Python, потому что я хотел пакетно изменить различные типы имен файлов. Я прошел и загрузил файл в строку и использовал метод String replace для замены всего. Затем я заметил, что заменяется только половина файла; как будто Python не полностью открывает файл.

есть ли какой-то предел размера строки или максимальный размер файла, который я должен играть в пределах Python?

см. код в Python поиск и замена не замена должным образом.

я перешел на предложенный код. Буфер 8 МБ файл html, который за 150к строк. Код замены работает отлично; просто он не заменяет все. Или, например, одна ошибка, которая является болью:

когда я пытаюсь заменить строку ff10 на FF-10, она будет изменена на FF-010.

1 ответов


нет, нет достижимого максимума по размеру файла, который может открыть Python. 8 МБ крошечные в современных условиях. Ты где-то ошибся.

люди регулярно загружают ГБ данных в память. В зависимости от ОЗУ вашего компьютера, будь то 64 - или 32-разрядная ОС и процессор, практический максимум для вас может быть где угодно от 1 ГБ до того, как вы получите MemoryError.

в качестве теста я просто загрузил файл 350 MB в строку. Потребовалось только несколько секунд. Затем я записал его обратно в файл. Это заняло немного больше времени. Затем я хэшировал файл. Они идентичны.

Python не имеет проблем с большими строками, пока вы не достигнете предела своей ОЗУ, операционной системы или процессора.

вы говорите, что "прошли и загрузили файл в строку" - это звучит как первое место, где вы могли сделать ошибку. Чтобы загрузить файл в строку, вы просто сделать fileobject.read(). Если бы вы сделали это каким-то другим способом, это могло бы быть проблема.