擅长:python、mysql、java
<p>正如我在代码中提到的,如果你想处理json的大文件,你必须找到另一种方法</p>
<pre><code>import json
def write(file_object, dictionary_object):
file_object.write(json.dumps(dictionary_object).replace('"},', '"},\n'))
def safe_write(file_object, dictionary_object):
file_object.truncate(0)
file_object.write(json.dumps(dictionary_object).replace('"},', '"},\n'))
# Easy But Bad For Big Json Files
dict_object = [{"attribute1": "no1", "attribute12": "no2"}, {"attribute1": "no12", "attribute12": "no22"}, {"attribute1": "no13", "attribute12": "no23"}, {"attribute1": "no14", "attribute12": "no24"}]
with open('json_dump.txt', 'w') as f:
write(f, dict_object) # Writes Perfectly
dict_object.append({"attribute1": "no15", "attribute12": "no25"})
safe_write(f, dict_object) # Writes Perfectly (We used the safe_write function to avoid appending to the end of the file) (Actually we can seek to the file's start but if you removed a element from list this makes the file shorter and the start of the file will be written out but the end of the file will still remain)
</code></pre>