Python перечисляет две кодовые страницы для EBCDIC, "cp424" (иврит) и "cp500" (западные скрипты).
Используйте это так:
with open(path, encoding='cp500') as f:
for line in f:
# process one line of text
Примечание: если размер файла составляет 12 ГБ, вам следует избегать вызова f.read()
или f.readlines()
, так как оба будут считывать весь файл в память. На ноутбуке это может привести к зависанию вашей системы. Вместо этого перебирайте содержимое строка за строкой, используя стандартную итерацию Python по умолчанию.
Если вы просто хотите перекодировать файл с использованием современной кодировки, например. очень популярный UTF-8, используйте следующий шаблон:
with open(in_path, encoding='cp500') as src, open(out_path, 'w', encoding='utf8') as dest:
dest.writelines(src)
Это должно перекодировать файл с небольшим объемом памяти, так как он читает, конвертирует и записывает содержимое построчно.