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

问题描述

这是我的函数,在执行过程中发生错误。那么有什么方法可以在发生错误的行之前访问变量的值?像这里错误发生在“ 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

标签: pythonjupyter

解决方案


当然,您可以使用“尝试”和“除外”。如果 '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

推荐阅读