擅长:python、mysql、java
<p>如果要跨执行保存数据,“live”程序内存中的所有内容在执行结束时都会被丢弃,因此必须将数据保存到文件(或其他持久介质)中,然后将其读回。</p>
<p>可以将其保存为简单字符串,也可以使用<code>pickle</code>轻松序列化列表等对象。</p>
<p><strong>使用简单字符串</strong></p>
<p>用代码包装程序以加载数据并将数据保存到文件:</p>
<pre><code>data=[]
try:
old_data= open("save_data", "r").read().split('\n')
data.extend(old_data)
except:
print ("Unable to load old data!")
data = ['data1', 'data2', 'data3 ' , 'data4', 'data5' ]
#YOUR PROGRAM HERE
try:
with open("save_data", "w") as out:
out.write('\n'.join(data))
except:
print ("Unable to write data!")
</code></pre>
<p>当然,如果不能在<code>data</code>中出现重复项,则必须做一些工作来防止它们出现。</p>
<p><strong>使用pickle</strong></p>
<pre><code>import pickle
data_fn = "save_data"
data=[]
try:
with open(data_fn, "rb") as data_in:
old_data = pickle.load(data_in)
data.extend(old_data)
except:
print ("Unable to load last data")
data = ['data1', 'data2', 'data3 ' , 'data4', 'data5' ]
#REST OF YOUR PROGRAM
try:
with open(data_fn, "w") as data_out:
pickle.dump(data, data_out)
except:
print ("Unable to save data")
</code></pre>