擅长:python、mysql、java
<p>我决定改用pickle,因为它更容易处理“for”循环。另外,shelve使用类似字典的语法(pickle没有),所以这可能是问题的一部分</p>
<p>正在保存:</p>
<pre><code>with open((os.path.join(saves_path, "inventory", "inventory.txt")), "wb") as f:
for slot in inv:
pickle.dump(slot["item"], f)
pickle.dump(slot["amount"], f)
</code></pre>
<p>加载:</p>
<pre><code>with open((os.path.join(saves_path, "inventory", "inventory.txt")), "rb") as f:
for slot in self.inventory.inv:
slot["item"] = pickle.load(f)
slot["amount"] = pickle.load(f)
</code></pre>