私は非常に大きなXMLファイルを持っています(正確には20GBで、はい、すべてが必要です)。ファイルを読み込もうとすると、次のエラーが発生します。
Python(23358) malloc: *** mmap(size=140736680968192) failed (error code=12)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug
Traceback (most recent call last):
File "file.py", line 5, in <module>
code = xml.read()
MemoryError
これは、XMLファイルを読み取るために私が持っている現在のコードです。
from bs4 import BeautifulSoup
xml = open('pages_full.xml', 'r')
code = xml.read()
xml.close()
soup = BeautifulSoup(code)
では、このエラーを排除して、スクリプトの作業を続行できるようにするにはどうすればよいでしょうか。ファイルを別々のファイルに分割しようとしますが、それがBeautifulSoupとXMLデータにどのように影響するかわからないため、これは行いません。
(XMLデータは、私がボランティアとして参加しているwikiからのデータベースダンプであり、多くのページからの直接情報を使用して、さまざまな期間のデータをインポートするために使用します)