import cPickle
class player:
level = 1
exp = 0
inven = []
char = player()
#Append items to char.inven later in program
def save():
file = open('savegame.dat', 'w')
cPickle.dump(char, file)
def load():
s_g = open('savegame.dat', 'r')
char = cPickle.load(s_g)
s_g.close()
これは実際のコードのごく一部です。どこが間違っているかを示すために切り詰めました。
保存/ロードすると、リストをファイルに具体的にダンプしても、char.invenにアイテムが保持されません。リストのアイテムを消去する理由はありますか?
また、ダンプする前にリストに参加すると、リストが保存されます。ただし、一部のリスト項目は2語であるため、list.split()を使用すると以前とは異なります。