具体智慧编程第二章的loadmovieLens函数

def loadMovieLens(path='/data/movielens'):

    movies={}

    for line in open(path+'/movie.dat',encoding='utf-8')

        (id,title)=line.split('|')[0:2]

        movies[id]=title

    prefs={}

   for line in open(path+'/ratings.dat'.encoding='utf-8')

        (user,movieidm,rating,ts)=line.split('\t')

    prefs.setdefault(user,{})

    prefs[user][movies[movieid]]=float(rating)

   return prefs

这个出现了好多错误,

第一个错误是tab键与空格的错误:IndentationError: unindent does not match any outer indentation level,解决方法,打开代码python自带编辑IDE,选择全部代码,选择format >>untabify Region>>4,意思是将tab都转化为4字节的空格

第二个错误:

多于一个参数错误,明明我输入的是两个参数,为啥会出这个错误,百思不得姐,后来认真看了一下数据源的结果,只抄书,书上的数据和我的数据结果不一致,它是以|和/t作为分割符,下的数据dat文件是以::为分割符,顾没有分割对文件

你可能感兴趣的:(测试)