如果python中的函数发生错误,有什么方法可以访问变量的值?

时间:2018-10-31 03:54:56

标签: python jupyter

这是我的函数,在执行过程中发生错误。所以有什么办法可以在发生错误的行之前访问变量的值? 像这里一样,错误发生在“ df = DataFrame({'real_rating': real_rating, 'predicted_rating': predicted_rating})”上,所以我想访问real_ratingpredicted_rating变量的值?

def calc_MAE_system(targetClusterTestUserDict,final_clusters):
    real_rating=[]
    predicted_rating=[]

    for i in range(0,length):
      real_rating.append(test.iloc[i]['rating'])
      temp_rating=predict_rating(final_clusters,test.iloc[i]['userId'],userBelongsToCluster,test.iloc[i]['movieId'],temp_df_rating)
      predicted_rating.append(temp_rating)


    df = DataFrame({'real_rating': real_rating, 'predicted_rating': predicted_rating})
    df.to_csv("rating_comparison_online_phase.csv", sep='\t')


    if(length != 0):
      mae=sum/length
    else:
      mae=0

    return mae

1 个答案:

答案 0 :(得分:0)

当然,您可以使用'try'和'except'。如果“ try”中的代码不起作用,它将使用“ except”中的代码。 例如

try:
    df = DataFrame({'real_rating': real_rating, 'predicted_rating': predicted_rating})
except:
    print("Error: real_rating = " + str(real_rating) + ", predicted_rating = " + str(predicted_rating))

如果无法创建数据框,它将打印以下内容:

Error: real_rating = xxxxx, predicted_rating = yyyy