擅长:python、mysql、java
<p>您可以使用<code>'wb'</code>模式将多个pickle写入一个文件,如果您需要重新打开它以获得更多的<code>dump</code>,那么您应该使用append模式(<code>'a'</code>,而不是{<cd4>})。在这里,我使用<code>'wb'</code>编写多个条目,然后使用<code>'ab'</code>添加一个条目。在</p>
<pre><code>>>> scores = dict(Travis=100, Polly=125, Guido=69)
>>> import pickle
>>> with open('scores.pkl', 'wb') as highscores:
... for name,score in scores.items():
... pickle.dump((name,score)), highscores)
...
>>> with open('scores.pkl', 'ab') as highscores:
... pickle.dump(scores, highscores)
...
>>> with open('scores.pkl', 'rb') as highscores:
... a = pickle.load(highscores)
... b = pickle.load(highscores)
... c = pickle.load(highscores)
... d = pickle.load(highscores)
...
>>> a
('Travis', 100)
>>> b
('Polly', 125)
>>> c
('Guido', 69)
>>> d
{'Polly': 125, 'Travis': 100, 'Guido': 69}
>>>
</code></pre>
<p>如果您有大量的数据,所以您担心不能同时<code>dump</code>和/或<code>load</code>所有的项目,那么您可以使用(我的一个包)<code>klepto</code>,这使您能够将大的pickled数据存储到文件、目录或数据库中……在那里您可以一次无缝地访问一个条目。在</p>
^{pr2}$