Как я могу открыть файл .ebc (ebcdic) на своем ноутбуке через python? - PullRequest
0 голосов
/ 04 октября 2019

UPD Я открыл файл и нашел этот формат. Как я могу декодировать 00000000 ....

Мне нужно открыть файл .ebc на Python. Размер этого файла составляет около 12 ГБ.

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

Я пытался читать файл построчно из-за его размера.

1 Ответ

0 голосов
/ 05 октября 2019

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)

Это должно перекодировать файл с небольшим объемом памяти, так как он читает, конвертирует и записывает содержимое построчно.

...