我需要在Python上打开.ebc文件。该文件的大小约为12GB。
我为此操作使用了大量的工具和Python库,但是很明显我以错误的方式进行了操作。我找不到合适的编码。
由于文件大小,我试图逐行读取文件。
PythonlistsEBCDIC的两个代码页,“ cp424”(希伯来语)和“ cp500”(西方脚本)。
像这样使用它:
with open(path, encoding='cp500') as f:
for line in f:
# process one line of text
注意:如果文件大小为12G,则您将避免调用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)
这应该以低内存占用量重新编码文件,因为它逐行读取,转换和写入内容。