将文件加载到字典

时间:2018-05-03 19:06:24

标签: python error-handling

我不确定我的user_dictionary出了什么问题。我创建了get方法或检查并确保它正确上传。密钥设置为用户名,我希望每个密钥等于评级值列表。密钥似乎加载正常,你可以在终端中看到,但当我打电话看到一个特定的键值我得到这个错误([]任何人都知道这意味着什么?我也加入了我加载到user_dictionary的文件,所以你可以看到布局。

我上传文件的1行 ben,5 0 0 0 0 0 0 1 0 1 -3 5 0 0 0 5 5 0 0 0 0 5 0 0 0 0 0 0 0 0 1 3 0 1 0 以不同的名字作为第一个单词

def read_users(user_file_name):
    returnDict={}
    try:
        f = open(user_file_name,"r")

        for line in f:
            temp=line.split(',')
            a=temp[0]
            #returnDict[a]=[]
            temp.pop(0)

            value= map(int, temp)
            returnDict[a]=[value]

        return returnDict;
    except:
        return;

班级图书馆:

def __init__(self,books_filename,ratings_filename):
    self.book_list = read_books(books_filename)
    self.user_dictionary = read_users(ratings_filename)
def getUser_Dictionary(self):
    #print(self.user_dictionary.keys())
    print(self.user_dictionary['nathan'])

1 个答案:

答案 0 :(得分:0)

您没有收到错误,但是您的值是一个空列表。这是因为您将值设置为地图对象而不是您想要的值。

替换这些行:

value= map(int, temp)
returnDict[a]=[value]

使用:

value = list(map(int, temp))
returnDict[a] = value

return_Dict是一个非常令人困惑的变量名,我会避免。