Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana Memproses Fail JSON Bersaiz Tanpa Ralat Memori dalam Python?
Membaca Fail JSON Bersaiz
Memuatkan fail JSON yang besar ke dalam Python boleh menimbulkan cabaran memori disebabkan oleh kelakuan lalai penyahkod JSON. Penyahkod ini biasanya memuatkan keseluruhan fail ke dalam memori, mengakibatkan MemoryErrors untuk fail besar-besaran.
Kunci untuk menangani isu ini terletak pada menggunakan pendekatan penstriman dan bukannya memuatkan keseluruhan fail sekali gus. Ini melibatkan pembacaan dan pemprosesan data dalam bahagian yang lebih kecil.
Penyelesaian: Penstriman JSON
Satu penyelesaian yang berkesan ialah melaksanakan pendekatan penstriman dengan modul ijson. Ijson menganggap JSON sebagai strim, membenarkan pemprosesan berulang data tanpa menyimpan keseluruhan fail dalam memori.
Contoh Kod
<code class="python">from ijson import items with open('file.json', 'r') as f: for event, value in items(f): # Process the current event and value pass</code>
Dalam contoh ini, modul ijson berulang ke atas data JSON, menyediakan peristiwa dan nilai untuk diproses. Ini mengelakkan memuatkan keseluruhan fail ke dalam memori, menyelesaikan ralat memori awal.
Penyelesaian Alternatif
Penyelesaian ketara lain termasuk:
Dengan memanfaatkan teknik penstriman, anda boleh memuatkan dan mengendalikan fail JSON yang besar tanpa menghadapi kekangan memori.
Atas ialah kandungan terperinci Bagaimana Memproses Fail JSON Bersaiz Tanpa Ralat Memori dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!