से निपटना मेरे पास एक बहुत बड़ी एक्सएमएल फाइल है (20 जीबी सटीक है, और हाँ, मुझे यह सब चाहिए)।बड़ी एक्सएमएल फाइलें लोड करना और मेमोरी एरर
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
यह वर्तमान कोड मेरे पास है, एक्सएमएल फ़ाइल को पढ़ने के लिए:: जब मैं फ़ाइल लोड करने का प्रयास है, मैं यह त्रुटि प्राप्त
from bs4 import BeautifulSoup
xml = open('pages_full.xml', 'r')
code = xml.read()
xml.close()
soup = BeautifulSoup(code)
अब, मैं को नष्ट करने के बारे में कैसे जाना होगा यह त्रुटि और स्क्रिप्ट पर काम करना जारी रखने में सक्षम हो। मैं फ़ाइल को अलग-अलग फाइलों में विभाजित करने का प्रयास करूंगा, लेकिन जैसा कि मुझे नहीं पता कि यह सुंदर सूप के साथ-साथ एक्सएमएल डेटा को कैसे प्रभावित करेगा, मैं इसे नहीं करना चाहूंगा।
क्या आपके पास 20 जीबी रैम है? यदि नहीं, भले ही आप इसे काम करने के लिए प्राप्त कर सकें, यह असहनीय रूप से धीमा होने वाला है क्योंकि यह अंदर और बाहर आ जाता है। हालांकि, एक समय में केवल lxml की तरह कुछ हिस्सों पर काम करने का एक तरीका हो सकता है। – Dougal