不将整个 txt 文件加载到字典中



我是一个python菜鸟来解决这个问题,我正在使用OOP方法编写这些函数,仅供参考。我的save_roster功能工作正常,它将所有字典播放器名单保存到我的文本文件"名单"中。我通过查看文本文件来确认这一点,确保它都在那里。现在,当我转到load_roster函数时,它只加载第一个键和值,其余的都不加载,我不知道为什么。关于如何加载整个字典或我做错了什么的任何帮助将不胜感激。

def save_roster(player_roster):
    print("Saving data...")
    file = open("roster.txt", "wt")
    import csv
    w = csv.writer(open("roster.txt", "w"))
    for key, val in player_roster.items():
        w.writerow([key, val])
    print("Data saved.")
    file.close()
def load_roster(player_roster):
    print("Loading data...")
    import csv
    file = open("roster.txt", "rt")
    for key, val in csv.reader(file):
        player_roster[key] = eval(val)
        file.close()
        print("Data Loaded Successfully.")
        return (player_roster)

您的return (player_roster)语句位于for循环内,这意味着它在返回之前只读取第一行。您需要将语句放在循环之外,如下所示:

def load_roster(player_roster):
    print("Loading data...")
    import csv
    file = open("roster.txt", "rt")
    for key, val in csv.reader(file):
        player_roster[key] = eval(val)
    file.close()
    print("Data Loaded Successfully.")
    return (player_roster)

相关内容

  • 没有找到相关文章

最新更新