首页 > 解决方案 > Python:尝试从 .txt 文件中保存和加载列表

问题描述

所以我已经为这个任务工作了几个星期,这是最后一个障碍,我花了几天时间,但我仍然卡住了。我要做的是将大约 10 个列表文件保存到 .txt 文件中,然后加载它们。列表包含字符串和整数,并分隔不同的列表(或字符,因为这应该是 RPG 游戏哈哈)。所以我有一个保存一切的功能

def save(data):
    with open("FightcraftParty.txt", "w") as f:
        for Char in data:
            for stat in Char:
                f.write(str(stat) +"\n")
            #f.write(list(Char)+"\n")
    print("Saved to FightcraftParty.txt")

我有一个加载功能

def load(L):
    for j in L:
        j = []
    i = 0
    with open("FightcraftParty.txt", "r") as f:
        for line in f:
            try:
                if int(line)==420:
                    L[i].append(420)
                    i+=1
                else:
                    L[i].append(int(line))
            except:
                L[i].append(str(line))

可以选择其中任何一个,因此它们不会重叠。但是,当我这样做时,我得到一个“IndexError:list index out of range”,我无法完全弄清楚原因。我已经多次重写 load() 函数,每次都给出相同的结果。尽管有一次它将所有项目添加到一个列表中。任何帮助将不胜感激。

标签: pythonliststorage

解决方案


推荐阅读